正如标题所说,我们什么时候应该为实体声明DbSet类型的属性,一般指南?
答案 0 :(得分:3)
没有一般指导方针。 DbSet<YourEntity>
的实例是加载和持久化给定类型实体的访问点。如果您未在上下文类型中公开该属性,则仍可以使用dbContext.Set<YourEntity>()
动态创建该属性。
在定义模型期间,公开和不公开属性之间的唯一区别在于实体发现。首次使用EF时,它会为已定义的实体构建“模型”。通过以下方式发现实体:
DbModelBuilder
实例DbModelBuilder
实例DbSet<>
属性
因此,如果您不使用DbSet<>
属性,则必须使用其他方法告知EF您的实体。