【问题标题】:Eliding computed properties on EF6 Code First DbSet from database从数据库中删除 EF6 Code First DbSet 上的计算属性
【发布时间】:2017-07-18 11:07:05
【问题描述】:

我正在尝试编写一个在 EF6 中使用的模型,其中包括我想在 C#(不是 SQL)中计算的属性。我的模型如下所示:

public class UploadRequestWorkingHours : UploadRequest
{
    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public int WorkingHoursSinceResponseDate
    {
        get { return DateUtils.WorkingHoursSince(ResponseDate); }
        private set { }
    }
}

UploadRequest 类包含详细信息,并且此派生类引入了一个属性,该属性应在模型序列化时由 LINQ/EF/任何人计算。

不幸的是,这个属性——WorkingHoursSinceResponseDate——正在进入数据库,尽管我已经将这个类标记为Computed。我也试过None。我通过阅读 EF 文档了解到这个 DatabaseGeneratedOption 仍将在数据库中创建一个列;我一直在关注such as this one 有很多投票的帖子,但实际上,我认为这不是解决方案。

如何防止模型中的计算属性进入数据库? Another post 建议创建迁移并注释掉创建的迁移文件中的字段,但这很臭,我无法逃脱!

【问题讨论】:

    标签: c# entity-framework ef-code-first linq-to-entities


    【解决方案1】:

    找到它:[NotMapped]

    还是谢谢!

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多