使用Ef5,我有以下类来保存
class Bar {
decimal A { get; set; }
decimal B { get; set; }
decimal Max { get { return Math.Max(A, B); } }
decimal? InvA { get { return A == 0 ? null : 1 / A; } } // this is 1/A
}
我应该如何使用EF Core管理这个?我试着做
class Bar {
decimal A { get; set; }
decimal B { get; set; }
decimal Max { get; private set; }
decimal? InvA { get; private set; }
}
配置I do
builder.Property(p => p.Max).ValueGeneratedOnAddOrUpdate();
builder.Property(p => p.InvA).ValueGeneratedOnAddOrUpdate();
足够和正确吗?
您可以使用DatabaseGenerated属性注释相应的属性:
public class Bar
{
public decimal A { get; set; }
public decimal B { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public decimal Max { get { return Math.Max(A, B); } }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public decimal? InvA { get { return A == 0 ? null : 1 / A; } }
}
详细信息请参考文档