我有几个实体包含 EffectiveAsOf 和 ExpiredAsOf 的日期时间字段。当一个实体被修改时,我想覆盖 SaveChanges 方法,而不是仅仅更新现有实体,让代码将原始记录保存回数据库,并将 ExpiredAsOf 日期时间设置为当前时间,并插入一条新记录与新数据并且 EffectiveAsOf 设置为当前时间,ExpiredAsOf 设置为 null。
我知道 objectStateEntryList 中的 ObjectStateEntry 项包含 CurrentValues 和 Original values 对象,以及一个 Entity 对象。EF 使用什么将数据写入数据库 CurrentValues 数据或实体?如何创建新条目?或者,我是不是完全走错了路?
我知道我可以在 EF 之外的实体中处理此问题,但宁愿让 EF 自动检测和处理这些实体。
提前感谢您的帮助和洞察力,吉姆