entity-framework - 将 DbSet 存储在构造函数中,而不是调用 DbContext.Set每次使用
问题描述
在我已经关注了一段时间的存储库模式中(示例),我总是有使用“新”DbSet 的 Add、Delete 等方法(例如,DbContext.Set<T>.Update(entity)
在测试中,谢天谢地,这似乎总是返回同一个 DbSet 对象。有什么理由我不应该DbContext.Set<T>()
在构造函数中调用一次并将其保存为属性而不是Set<T>()
在每个方法中调用吗?我只是想确保我没有遗漏任何东西。
解决方案
有什么理由我不应该在构造函数中调用一次 DbContext.Set() 并将其保存为属性而不是在每个方法中调用 Set() 吗?
不,这正是普通 DbContext 在初始化时所做的。请参阅什么调用实体中的设置器?
推荐阅读
- slack-api - 为什么我的 app_home_opened 事件有时会触发两次?
- javascript - 修复 Highchart 图表上的最小/最大值标志
- python - 有没有一种简单的方法可以用`+`连接到python f-string的变量重新创建字符串?
- javascript - howler.js:播放音频时(连续)触发哪个事件?
- reactjs - 将基本 url 添加到 Reactjs Docker 映像的方法是什么
- python - 为什么我在 python 中部署包时缺少 aws lambda 中的依赖项?
- vb.net - 无法使用 Microsoft.VisualBasic 作为参考
- swift - Swift.- UISwitch 的 UIAppereance 不考虑 layer.cornerRadius
- javascript - 如何使用 404 页面处理带有 .md 后缀的 URL?
- ruby-on-rails-6 - 如何修复 Rails 6 中的“Uncaught TypeError: $(...).datetimepicker is not a function”错误