何时以及为何插入实体及其关系实体引用

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,并且数据库调用尽可能少。 好处是良好的性能和原子事务(全部成功或全部失败)。