何时以及为何插入实体及其关系实体引用
When and why to insert Entity and its relational Entity references
我正在构建一个从文件批量导入的功能,我问自己我应该做什么,我想要一些反馈,也许可以为将来学习某些东西。
我有 3 个实体,我们称它们为 E1、E2 和 E3。
E1 有一个 属性 E2,E2 有一个 属性 E3。我可以构建所有内容(进行检查等)并插入 E3,这将插入 E1 和 E2(如果它们不存在,当然我会附加它们)。
但是为什么我不应该构建 E1 并插入,继续构建 E2 并插入,最后构建 E3(使用 E1 和 E2)并插入?
是否有我不应该这样做的特定原因,也许是因为很多电话,是 "no-go",...?
亲切的问候!
最重要的是在最后添加所有实体时对上下文调用 SaveChanges。这样,所有实体在一个事务中都是 inserted/updated,并且数据库调用尽可能少。
好处是良好的性能和原子事务(全部成功或全部失败)。
我正在构建一个从文件批量导入的功能,我问自己我应该做什么,我想要一些反馈,也许可以为将来学习某些东西。
我有 3 个实体,我们称它们为 E1、E2 和 E3。
E1 有一个 属性 E2,E2 有一个 属性 E3。我可以构建所有内容(进行检查等)并插入 E3,这将插入 E1 和 E2(如果它们不存在,当然我会附加它们)。
但是为什么我不应该构建 E1 并插入,继续构建 E2 并插入,最后构建 E3(使用 E1 和 E2)并插入?
是否有我不应该这样做的特定原因,也许是因为很多电话,是 "no-go",...?
亲切的问候!
最重要的是在最后添加所有实体时对上下文调用 SaveChanges。这样,所有实体在一个事务中都是 inserted/updated,并且数据库调用尽可能少。 好处是良好的性能和原子事务(全部成功或全部失败)。