将DbSet存储在构造函数中,而不是每次使用时都调用DbContext.Set <tu>

时间:2018-09-05 22:31:11

标签: entity-framework repository entity-framework-core repository-pattern dbset

在我已经关注一段时间(example)的存储库模式中,我一直都有使用“新” DbSet的Add,Delete等方法(例如,DbContext.Set<T>.Update(entity)在测试中,幸运的是,这似乎总是返回相同的DbSet对象,是否有任何原因我不应该在构造函数中调用一次DbContext.Set<T>()并将其另存为属性,而不是在每个构造函数中都调用Set<T>()方法?我只想确保我没有丢失任何东西。

此摘录来自同一链接: From the article linked earlier

1 个答案:

答案 0 :(得分:1)

  

有什么理由不应该在构造函数中一次调用DbContext.Set()并将其保存为属性,而不是在每个方法中都调用Set()吗?

不。这就是普通DbContext在初始化时所做的。参见What calls the setters in an Entity?