【发布时间】:2019-12-15 03:08:38
【问题描述】:
在我的教育计划数据库表中,我有一个特定学生的 3 条记录
所以我想从这个人列表中删除 P3 程序,所以在字体结束时它的显示就像这样
一旦我点击删除,特定的 P3 从前端和模型中删除,一旦点击 save 按钮,它就会传递到后端代码 P1,P2 作为列表。
我正在使用实体框架进行数据库事务。
在这里寻找您的建议
- 我是否应该删除所有现有记录,然后再次插入 P1、P2。 或者
- 我是否需要通过比较我发送的列表与现有记录来迭代每条记录并附加 P1、P2 并找出丢失的一条并删除 或者
- 这种类型的事务可以EF自己做
期待推荐哪种方式
【问题讨论】:
-
选择选项 1 可能有点脆弱。选项 2 听起来不错,但选项 1 和 2 的共同点是您需要查询数据库一次才能发送列表到视图,然后第二次从数据库中获取列表以比较差异,然后第三次删除和更新可能已更改的任何项目。这对数据库造成了很大的打击。您可能会想出一个解决方案,其中使用
deleted和edited标志,您可以将其用于Update()或Remove()已编辑/已删除的行。
标签: c# sql-server asp.net-mvc entity-framework linq