在构造函数中存储DbSet而不是调用DbContext.Set 适合各种用途

问题描述 投票:0回答:1

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

这个片段取自同一个链接:From the article linked earlier

entity-framework repository entity-framework-core repository-pattern dbset
1个回答
1
投票

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

不,这正是普通DbContext在初始化时的作用。见What calls the setters in an Entity?

© www.soinside.com 2019 - 2024. All rights reserved.