我想忽略复杂类型的一个属性,以映射到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);
}
}
如果属性没有设置器,则不会将其映射到数据库列。如果它是一个计算字段,则可以让它仅包含一个用于计算的getter。