c# - 我对 sql 数据库及其视图逻辑有疑问?
问题描述
我正在为金铸工编写一个 VS 2015 Angular & C# ASP.NET Web API 项目。到目前为止,我已经创建了这个数据库。我需要帮助来验证这是否有效。
系统操作如下:
- 用户可以添加新帐户。
- 然后,用户可以查看权重,用户可以在其中为帐户和比率(黄金单位)字段添加权重,如您在数据库交易表中所见。
- 然后,用户将在为重量输出设计的单独视图中为帐户添加重量输出,如果在上一步中未设置比率,用户将在此处进行操作,并且将执行一些计算,步骤 1 和交易表的其他字段将填充值。
注意用户可以通过执行第 2 步来执行第 3 步,然后再添加权重。
我对第 3 步的逻辑感到困惑,我将如何实现它以及如何在表事务中保存和更新?请在这方面帮助我!
解决方案
我会在这里尽我所能提供帮助,而不是真正深入了解问题并从那里开始。
解决方案 1
即使页面刷新,此解决方案也可以使用
用户帐户添加。这应该很简单。创建
user-add.component
,创建 api 调用POST http://api-url/user
并在有数据时调用它。将在您的 Account 表中插入一个简单的行。 (你的问题) -> 为什么用户表没有连接到帐户,因为它是创建帐户的用户?第二视图或第三视图。用户以他们喜欢的任何顺序导航到这两个步骤中的每一个。所以,你可以做什么。
- 在您的数据库访问层中,您需要以某种方式
CreateOrUpdate
为您的事务生成一个函数。这将检查事务是否存在,然后添加它。此检查可以像检查从 UI 发送的 TransactionID 并验证它的存在一样简单 - 在您的数据库表中,您需要将
weight in
andweight out
甚至 Rati 作为可空值。但是,您可以并且可能应该做的是检查是否插入了至少一个值。(检查mysql检查约束 - 这样,无论您的用户首先使用至少一个值创建Transaction行,获取 TransactionID 以更新您的本地数据,然后将包含完整数据的新Transaction发送到您的 api 并相应地更新该行。可以为空的检查将帮助您。
- 在您的数据库访问层中,您需要以某种方式
解决方案 2
此解决方案不适用于页面刷新。
您可以在 Angular 应用程序中维护相同的Transaction对象。只需创建一个角度服务,并将Transaction对象存储在其中。传递事务 id(在您的前端创建一个唯一编号)并随时获取它。
事务准备好后,POST
将其发送到您的后端。
推荐阅读
- html - CSS边框笔划线帽圆角
- macos - gcloud 崩溃 (NotADirectoryError): (Errno 20) Not a directory: 'xdg-settings' 出现在 type: gcloud init 之后
- c# - 如何检测从子窗体打开的模态窗体?(C# & VS2017)
- python - 构建 95% 置信区间
- nginx - 如果 404 和请求包含某些单词,则 Nginx 重定向
- python - AttributeError:模块 'tensorflow.compat.v2' 没有属性 'logging'
- linux - 带有多行 heredoc 的 Bash 脚本不输出任何内容
- php - 在php中循环后分配关系
- python - 读取和更改绘图板输入以用于 FPS 游戏
- web-services - WDSL 服务问题