首页 > 解决方案 > 将 DbSet 存储在构造函数中,而不是调用 DbContext.Set每次使用

问题描述

在我已经关注了一段时间的存储库模式中(示例),我总是有使用“新”DbSet 的 Add、Delete 等方法(例如,DbContext.Set<T>.Update(entity)在测试中,谢天谢地,这似乎总是返回同一个 DbSet 对象。有什么理由我不应该DbContext.Set<T>()在构造函数中调用一次并将其保存为属性而不是Set<T>()在每个方法中调用吗?我只是想确保我没有遗漏任何东西。

此片段取自同一链接: 从前面链接的文章

标签: entity-frameworkrepositoryentity-framework-corerepository-patterndbset

解决方案


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

不,这正是普通 DbContext 在初始化时所做的。请参阅什么调用实体中的设置器?


推荐阅读