忽略复杂类型的一个属性

本文关键字:一个 属性 复杂 类型 | 更新日期: 2023-09-27 18:12:44

我想忽略一个映射到数据库的复杂类型的属性,其中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);
     }
}

忽略复杂类型的一个属性

public class AmountsMap : EntityTypeConfiguration<Amounts>
{
     public AmountsMap()
     {
          Ignore(a => a.FinalTotal);
     }
}

如果属性没有setter,则不会将其映射到数据库列。如果它是一个计算过的字段,你可以让它只有一个getter。