【问题标题】:Ignore one property of a complex type忽略复杂类型的一个属性
【发布时间】:2014-07-13 05:16:20
【问题描述】:

我想忽略一个复杂类型的属性,以便映射到 FinalTotal 是计算字段的数据库。实体框架说它是不允许的,它必须是一个属性。 :(

public class Sale
{
     public int      Id { get; set; }
     public DateTime DateSale { get; set; }
     public Amounts  Amounts { get; set; }
}

public class Amounts
{
     public decimal Subtotal { get; set; }
     public decimal Tax { get; set; }
     public decimal FinalTotal { get; set; }
}

public class SaleMap : EntityTypeConfiguration<Sale>
{
     public SaleMap()
     {
          Ignore(s => s.Amounts.FinalTotal);
     }
}

【问题讨论】:

    标签: c# entity-framework ef-code-first entity-framework-6


    【解决方案1】:
    public class AmountsMap : EntityTypeConfiguration<Amounts>
    {
         public AmountsMap()
         {
              Ignore(a => a.FinalTotal);
         }
    }
    

    【讨论】:

    • @RickyBon。如果这解决了您的问题,请考虑接受答案,这对未来的访问者很有帮助。
    • @JohnBarça 完成 :) 感谢您的建议。
    【解决方案2】:

    如果属性没有设置器,则不会映射到数据库列。如果它是一个计算字段,你可以让它只有一个 getter 进行计算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多