首页 > 解决方案 > 我对 sql 数据库及其视图逻辑有疑问?

问题描述

金铸造应用数据库

我正在为金铸工编写一个 VS 2015 Angular & C# ASP.NET Web API 项目。到目前为止,我已经创建了这个数据库。我需要帮助来验证这是否有效。

系统操作如下:

  1. 用户可以添加新帐户。
  2. 然后,用户可以查看权重,用户可以在其中为帐户和比率(黄金单位)字段添加权重,如您在数据库交易表中所见。
  3. 然后,用户将在为重量输出设计的单独视图中为帐户添加重量输出,如果在上一步中未设置比率,用户将在此处进行操作,并且将执行一些计算,步骤 1 和交易表的其他字段将填充值。

注意用户可以通过执行第 2 步来执行第 3 步,然后再添加权重。

我对第 3 步的逻辑感到困惑,我将如何实现它以及如何在表事务中保存和更新?请在这方面帮助我!

标签: c#angularasp.net-web-api

解决方案


我会在这里尽我所能提供帮助,而不是真正深入了解问题并从那里开始。

解决方案 1

即使页面刷新,此解决方案也可以使用

  1. 用户帐户添加。这应该很简单。创建user-add.component,创建 api 调用POST http://api-url/user并在有数据时调用它。将在您的 Account 表中插入一个简单的行。 (你的问题) -> 为什么用户表没有连接到帐户,因为它是创建帐户的用户?

  2. 第二视图或第三视图。用户以他们喜欢的任何顺序导航到这两个步骤中的每一个。所以,你可以做什么。

    • 在您的数据库访问层中,您需要以某种方式CreateOrUpdate为您的事务生成一个函数。这将检查事务是否存在,然后添加它。此检查可以像检查从 UI 发送的 TransactionID 并验证它的存在一样简单
    • 在您的数据库表中,您需要将weight inandweight out甚至 Rati 作为可空值。但是,您可以并且可能应该做的是检查是否插入了至少一个值。(检查mysql检查约束
    • 这样,无论您的用户首先使用至少一个值创建Transaction行,获取 TransactionID 以更新您的本地数据,然后将包含完整数据的新Transaction发送到您的 api 并相应地更新该行。可以为的检查将帮助您。

解决方案 2

此解决方案不适用于页面刷新。

您可以在 Angular 应用程序中维护相同的Transaction对象。只需创建一个角度服务,并将Transaction对象存储在其中。传递事务 id(在您的前端创建一个唯一编号)并随时获取它。

事务准备好后,POST将其发送到您的后端。


推荐阅读