这是我的问题...
我有一个实体类,我想保留此表中的历史值。每次更改每条记录时,我都希望将此记录的快照插入到另一个表(具有相同的字段)中。我可以逐个字段地执行此操作,但是我敢肯定应该有一个简单的方法来执行此操作。
我已经尝试过类似的方法,但是它不起作用:
var t1 = context.TABLE1.Find(id);
var t2 = new TABLE2();
context.Entry(t2).CurrentValues.SetValues(t1);
context.SaveChanges();
我找到了这个How to "transfer" the data from one table to another with EF?,但对我来说不起作用,因为我的桌子无法满足这篇文章的要求
t2.CurrentValues.SetValues(t1);
有什么想法吗?
答案 0 :(得分:0)
您可以使用AutoMapper之类的包在Table1和Table2类之间创建映射。他们有关于如何进行设置的良好文档。您还可以重写SaveChange()方法来处理历史记录的创建/保存。