假设我有一些界面,例如:
public interface ISoftDeletable
{
bool IsActive { get; set }
}
我有很多实体实现了它:
public class Entity1 : ISoftDeletable
{
public int Id { get; set }
public bool IsActive { get; set; }
}
public class Entity2 : ISoftDeletable
{
public int Id { get; set }
public bool IsActive { get; set; }
}
在OnModelCreating:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Entity1>().Property(e => e.IsActive).HasDefaultValue(true);
modelBuilder.Entity<Entity2>().Property(e => e.IsActive).HasDefaultValue(true);
}
有什么方法可以重构它,以便我可以HasDefaultValue为所有实体进行设置,ISoftDeletable而不是像上面那样做?
我可能可以使用每个实体的默认构造函数解决这个特定情况,IsActive = true甚至创建一个基本抽象类,但我不太喜欢它。
有没有更好的办法?
慕虎7371278
白板的微信
相关分类