database - 我们什么时候应该将 DbSet 与 EF Code First 一起使用

标签 database entity-framework-4 ef-code-first

正如标题所说,我们什么时候应该为一个实体声明一个 DbSet 类型的属性,通用指南?

最佳答案

没有一般准则。 DbSet<YourEntity> 的实例是您加载和持久化给定类型实体的访问点。如果您不在上下文类型上公开该属性,您仍然可以使用 dbContext.Set<YourEntity>() 即时创建它.

公开和不公开属性之间的唯一区别在于定义模型期间的实体发现。首次使用 EF 时,它会为定义的实体构建“模型”。通过以下方式发现实体:

  • DbModelBuilder 上明确定义的映射实例
  • DbModelBuilder 中明确注册的配置类型实例
  • DbSet<>上下文类型中定义的属性
  • 已发现实体引用的类型

所以如果你不使用 DbSet<>您必须使用其他方法告诉 EF 关于您的实体的属性。

关于database - 我们什么时候应该将 DbSet 与 EF Code First 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850131/

相关文章:

c# - 知道某个条目位于数据库中

php - PHP/MySQL与数据库的连接

perl - 在我的嵌入式系统上组织数据的最佳方式是什么?

entity-framework - 处理非跟踪 self 跟踪实体的正确方法是什么?

c# - Entity Framework 5,从代码优先切换到数据库优先?

mysql - 聚合函数如何影响与其一起查询的列?

sql - 如何在模型优先方法中使用结构注释将 SQL 类型设置为日期

c# - StoreGeneratedPattern 是什么意思?

entity-framework - 如何使用流畅的配置在 Entity Framework 6.2 中创建索引

c# - 与连接(桥接)表的一对多关系