我有一个计费页面,其中包含几个类别的信息以及它们的价格、数量和总数
计费屏幕看起来像
客户名称:Dummy Customer 客户地点:Dummy Place
类别名称 数量 价格 总计 TestCategory 10 10 100 TestCategory1 15 10 150
Total 250
添加新类别 确定 更新 删除
屏幕上有 3 个按钮“确定”、“更新”和“删除”
一旦用户单击确定按钮,信息就会作为新的 tranx 保存到数据库中
Tranx 模型类似于
Master_Tranx实体,包含 TranxID Tranx_Total Customer Name Customer Place
然后是由 SerialNumber/category/Quantity/Price/Tranx_id 组成的Tranx 实体
Master_Tranx 实体和 Tranx 实体之间的关系就像
Master_Traxn 主键是 Tranx_id,它连接到 Tranx 实体中的外键 tranx_id。
因此,当用户按下 ok 时,会在 Tranx 和 Master_Tranx 实体中生成一条新记录
对于每张新账单,多行进入 Tranx 表,但单行插入 Master_Tranx 实体。
现在问题在于更新。
按 OK 按钮成功将数据创建到上述两个实体中,但是
假设用户想要更新任何现有的 tranx,例如在现有 traxn 中添加更多类别,或者更新可能是计费表现有行的数量,用户需要在将所需内容更新到屏幕后按下更新按钮。
我在这个更新按钮中实现代码的方式就像
我使用我需要进行更新的 tranx_id 。然后在计费屏幕中获取所有行。然后填充由 Tranx 实体组成的 Master_Tranx 实体,该 tranx 实体由所有计费表行组成。
然后使用实体管理器的 merge() 函数进行更新。
问题是当我按下更新按钮而不是更新现有的 tranx infomration 时。它针对这个 tranx ID 添加新行
例如:我想创建一个新信息。我添加新行,例如
类别名称 数量 价格 总计 TestCategory 10 10 100 TestCategory1 15 10 150
然后我按 OK 按钮,然后生成一个 tranx ID
现在我想在现有的 tranxID 中再添加一个 tranx,例如
类别名称 数量 价格 总计 TestCategory 20 10 200 TestCategory1 15 10 150 TestCategory3 20 15 300
我也对第一行的数量进行了更改,我从 10 做 20。然后我按下更新按钮
在针对 TranxEntity 的数据库中,我可以看到类似的行
1 测试类别 10 10 100 2 测试类别 1 15 10 150 3 测试类别 20 10 200 4 测试类别 1 15 10 150 5 测试类别 3 20 15 300
虽然它应该是这样的
1 测试类别 20 10 200 2 测试类别 1 15 10 150 3 测试类别 3 20 15 300
谁能告诉如何实现这一目标