【问题标题】:Is there a way to extend an entity framework object so that it doesn't map to the database?有没有办法扩展实体框架对象,使其不映射到数据库?
【发布时间】:2016-02-23 21:46:31
【问题描述】:

我有一个其他人创建的映射到数据库的实体框架对象。我想扩展此对象以包含我不想映射到数据库的字段(或在数据库中创建新表或字段)我被告知您可以将字段标记为 [NotMapped] 并且它不会映射到数据库。我一直在研究部分类,我想知道是否有一种方法可以创建部分类,其中一个会映射到数据库而另一个不会,而不是将所有内容单独标记为 [NotMapped]。

【问题讨论】:

  • 为什么不简单地创建 dto 类并在该 dto 和模型类之间映射您的数据?
  • [NotMapped] 正是您这样做的方式。或者,如果您使用流利的语法进行映射,您将在该语法中使用 .Ignore() 方法。您是否有想要使用为此设计的属性的原因?
  • 我只是想知道是否有一种速记方式,这样我就不必单独标记每个字段,因为我最终可能会得到很多没有映射的字段。这种方式工作得很好。我只是想知道是否有更简单或更清洁的方法。

标签: c# entity-framework partial-classes


【解决方案1】:

就编译器而言:它所做的只是将各种不同的partial 类端到端地拼接在一起。除了可能更改页面顶部的using 指令之外,您在逐个文件 (etc) 级别上无能为力,但 不会改变代码的含义 em>。

所以基本上:不,没有办法使用partial 类来做你描述的事情。您需要单独装饰每个成员,就像您已经在做的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    相关资源
    最近更新 更多