我们有一个CRUD操作的存储库。基本上,如果我们想要执行任何读/写操作,我们可以执行类似
的操作 using (MemberRepo mRepo = new MemberRepo())
{
mRepo.UpdateEntity(member);
mRepo.Save();
}
我需要知道的是,在更新数据库之前是否可以知道数据库中的某个列值?例如,如果成员表中有一个名为Status的字段,我想在用其他值更新之前知道该成员的当前现有状态?
感谢。
答案 0 :(得分:1)
以下代码将允许您设置具有此列/属性的任何实体的创建日期。在某些情况下,它可以作为触发器。
public override int SaveChanges()
{
foreach (var entry in ChangeTracker.Entries().Where(entry => entry.Entity.GetType().GetProperty("CreationDate") != null))
{
if (entry.State == EntityState.Added)
{
entry.Property("CreationDate").CurrentValue = DateTime.Now;
}
}
return base.SaveChanges();
}