从LINQ2SQL到LINQ再到实体
本文关键字:实体 LINQ LINQ2SQL | 更新日期: 2023-09-27 18:12:03
我在POCO模式下使用EF 4.1。
LINQ2SQL在插入/更新/删除实体时调用数据上下文的部分方法。它们对以下情况很有帮助:
partial void InsertCampaign( Campaign instance )
{
instance.CreatedAtUTC = instance.ModifiedAtUTC = DateTime.UtcNow;
ExecuteDynamicInsert( instance );
}
partial void UpdateCampaign( Campaign instance )
{
instance.ModifiedAtUTC = DateTime.UtcNow;
ExecuteDynamicUpdate( instance );
}
所以,我的问题是——使用EF,您如何挂钩到实体的插入/更新/删除,以便您可以执行上述操作?我不希望每次创建/更新实体时都必须手动执行此操作。
谢谢
在DbContext中重写SaveChanges()方法,并执行如下操作:
public override int SaveChanges()
{
var modified = this.ChangeTracker.Entries().Where(e => e.State == System.Data.EntityState.Modified);
// set whatever values you want on modified entities
return base.SaveChanges();
}