Entity framework 如何告诉EntityFramework不要弄乱给定的实体?

Entity framework 如何告诉EntityFramework不要弄乱给定的实体?,entity-framework,poco,dto,Entity Framework,Poco,Dto,我正在寻找一种方法来表明某个类不用于生成数据库(代码优先web应用程序),也不用于监视更改。换句话说,我只希望这个特定类与任何自动持久性行为完全断开连接(因为它将仅用作视图和控制器之间的DTO)。可能吗 实体框架使用DbContext类,您可以使用它来检测数据库的预期结构 EF有两种方式假设数据库中存在实体 该实体由DbContext直接引用,例如您有一个DbSet(或IDbSet) 该实体是从DbContext间接引用的,例如,您有一个如上所述引用的实体,它将您的实体作为属性 当引用一个实体时

我正在寻找一种方法来表明某个类不用于生成数据库(代码优先web应用程序),也不用于监视更改。换句话说,我只希望这个特定类与任何自动持久性行为完全断开连接(因为它将仅用作视图和控制器之间的DTO)。可能吗

实体框架使用DbContext类,您可以使用它来检测数据库的预期结构

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

  • 该实体由DbContext直接引用,例如您有一个
    DbSet
    (或
    IDbSet
  • 该实体是从DbContext间接引用的,例如,您有一个如上所述引用的实体,它将您的实体作为属性

  • 当引用一个实体时,数据库中将存在一个具有该实体架构的表。您可以通过使用属性装饰实体或使用modelbuilder来处理实际预期模式的外观(名称、忽略的属性、必需/不必需等)。我个人的偏好是使用modelbuilder,请参阅我的文章,以获取使用modelbuilder进行导航属性的示例

    为什么要将其纳入EF模型?这只有在你让它发生的情况下才会发生。要将它包含在数据库中,它要么需要被上下文中的数据库集引用,要么需要被上下文中引用的东西引用DBset@LukeMcGregor(还有GertArnold)谢谢你向我澄清这一点。。。你说得对,现在我明白了。上下文类上没有DbSet属性,EF没有控件。:)谢谢@LukeMcGregor,你能把它作为一个答案发布,这样我就可以接受它并结束这个问题了吗?@MarceloMyara没问题:)