一般的,创建模型时,都有一些相同的字段,比如提交时间,修改时间等
可以创建基类
public class BaseEntity
{
[Key]
public int Id { get; set; }
public bool IsDelete { get; set; }
public DateTime? CreateTime { get; set; }
public DateTime? UpdateTime { get; set; }
}
子类继承
在上下文中,重写SaveChanges()方法
public override int SaveChanges()
{
//添加操作
ChangeTracker.Entries().Where(e => e.State == EntityState.Added && e.Entity is BaseEntity).ToList()
.ForEach(e => ((BaseEntity)e.Entity).CreateTime = DateTime.Now);
//修改操作
ChangeTracker.Entries().Where(e => e.State == EntityState.Modified && e.Entity is BaseEntity).ToList()
.ForEach(e =>((BaseEntity)e.Entity).UpdateTime = DateTime.Now);
return base.SaveChanges();
}
这样,不用在每个模型中添加时间