1.定义基础实体对象

public class BaseEntity
{
  public int Id { get; set; }
  public DateTime? CreateTime { get; set; }
  public DateTime? UpdateTime { get; set; }
  public BaseEntity()
  {
    CreateTime = DateTime.Now;
  }
}

2.定义业务实体对象

public class DictEntity:BaseEntity
{
/// <summary>
/// 分组名称
/// </summary>
[StringLength()]
public string GroupName { get; set; }
}

3.在DbContext类里重写SaveChanges()方法

public class DBContext : DbContext
{
public DBContext() : base("Name=ElectronicPrescriptionDB")
{
Database.SetInitializer(new DBInitializer());
}
 public DbSet<DictEntity> Dicts { get; set; }
     public override int SaveChanges()
{
var selectedEntityList = ChangeTracker.Entries().Where(x => x.Entity is BaseEntity && x.State == EntityState.Modified);
//可以加入cookie里面的username,比如:操作人,需扩展DateTimeEntity的属性。
//var userName = "MUKESH";
foreach (var entity in selectedEntityList)
{
((BaseEntity)entity.Entity).UpdateTime = DateTime.Now;
}
return base.SaveChanges();
}
}

之所以选择此方法,经过测试后最简便方法。其他还有:

public RepositoryContext() : base("ApiConn")
{
((IObjectContextAdapter)this).ObjectContext.ObjectStateManager.ObjectStateManagerChanged += this.OnSaveChanges;
}

在OnSaveChanges(object obj, CollectionChangeEventArgs args)里面去获取实体状态,根据实体状态进行更新对应数据。但是,每次触发实体都会触发该扩展方法。所以没选择。

最新文章

  1. Devils never rest
  2. Python学习之day2
  3. C++实现反射机制
  4. Webbench网站压力测试
  5. Java跨平台原理
  6. [转]学习 WCF (6)--学习调用WCF服务的各种方法
  7. Html表单的正则校验--将不符合指定正则表达式的字符串自动替换为空
  8. Robot Framework简介
  9. lua在MacOS系统上的安装方法
  10. HUNNU--湖师大--11409--Skill
  11. mac 搭建node 开发环境记录
  12. 百度地图API-控件
  13. Andrew Ng机器学习第一章——初识机器学习
  14. python语法_json_pickle
  15. 我遇到的Spring的@Value注解失效问题
  16. TCP中往返时间的估计与超时
  17. LodopJS文档式模版的加载和赋值
  18. Spark参数设置的方式
  19. 初探FFT(快速傅里叶变换)
  20. Eureka的原理

热门文章

  1. PHP ftp_nb_fput() 函数
  2. P5468 [NOI2019]回家路线 斜率优化 dp
  3. bzoj 2780 [Spoj]8093 Sevenk Love Oimaster
  4. mysql8.0以上版本修改密码问题记录
  5. 动态生成HTML元素-模拟在线考试功能
  6. 【AHOI2009】同类分布 题解(数位DP)
  7. kubernetes ingress 重定向地址错误
  8. 微信小程序--家庭记账小账本(三)
  9. C#LeetCode刷题之#590-N叉树的后序遍历(N-ary Tree Postorder Traversal)
  10. JavaScript 中 Blob对象的初步认识