1

我正在寻找一种方法来指示某个类不会用于数据库的生成(代码优先的 Web 应用程序)并且不会被监视更改。换句话说,我只是希望这个特定的类与任何自动持久性行为完全断开(因为它只会用作 View 和 Controller 之间的 DTO)。可能吗?

4

1 回答 1

2

Entity Framework 使用 DbContext 类来检测数据库的预期结构。

EF 有 2 种方式假设数据库中存在实体。

  1. 该实体由您的 DbContext 直接引用,例如您有一个DbSet<TEntity>(or IDbSet<TEntity>)
  2. 该实体是从您的 DbContext 间接引用的,例如,您有一个如上所述引用的实体,该实体将您的实体作为属性。

当一个实体被引用时,它会期望具有该实体模式的表将存在于数据库中。您可以通过使用属性装饰实体或使用模型构建器来尝试实际预期模式的外观(名称、忽略的属性、必需/不需要等)。我个人的偏好是使用模型构建器,请查看我的文章here以获取使用模型构建器进行导航属性的示例。

于 2012-11-18T01:16:25.530 回答