忽略复杂类型中的一个属性

3

我希望忽略复杂类型的一个属性,以便将其映射到数据库,而FinalTotal是一个计算字段。Entity Framework说不允许这样做,必须是一个属性。 :(

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);
     }
}
2个回答

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

1
@RickyBon。如果这个回答解决了您的问题,请考虑接受它,这对未来的访问者很有帮助。 - John Powell
@JohnBarça 好的 :) 感谢您的建议。 - Ricky Bon

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接