正如标题所说,我们什么时候应该为实体声明一个 DbSet 类型的属性,General Guidelines ?
问问题
1058 次
1 回答
3
没有通用的指导方针。Instance ofDbSet<YourEntity>
是您加载和持久化给定类型实体的访问点。如果您不公开上下文类型的属性,您仍然可以使用dbContext.Set<YourEntity>()
.
公开和不公开属性的唯一区别在于定义模型期间的实体发现。首次使用 EF 时,它会为已定义的实体构建“模型”。实体是通过以下方式发现的:
DbModelBuilder
在实例上明确定义的映射DbModelBuilder
在实例中显式注册的配置类型DbSet<>
在上下文类型中定义的属性- 已发现实体引用的类型
因此,如果您不使用DbSet<>
属性,则必须使用其他方法告诉 EF 您的实体。
于 2012-12-13T09:02:07.180 回答