【发布时间】:2012-11-30 18:27:56
【问题描述】:
正如标题所说,我们什么时候应该为实体声明一个 DbSet 类型的属性,一般准则?
【问题讨论】:
标签: database entity-framework-4 ef-code-first
正如标题所说,我们什么时候应该为实体声明一个 DbSet 类型的属性,一般准则?
【问题讨论】:
标签: database entity-framework-4 ef-code-first
没有一般准则。 DbSet<YourEntity> 的实例是您加载和持久化给定类型实体的访问点。如果您不公开上下文类型的属性,您仍然可以使用dbContext.Set<YourEntity>() 即时创建它。
公开和不公开属性的唯一区别在于定义模型期间的实体发现。首次使用 EF 时,它会为已定义的实体构建“模型”。实体是通过以下方式发现的:
DbModelBuilder 实例上明确定义的映射DbModelBuilder 实例中显式注册的配置类型DbSet<> 上下文类型中定义的属性因此,如果您不使用 DbSet<> 属性,则必须使用其他方法告诉 EF 您的实体。
【讨论】: