实体框架。将值从一个实体类插入到另一个不同的实体

时间:2018-10-16 14:48:39

标签: c# .net entity-framework linq linq-to-entities

这是我的问题...

我有一个实体类,我想保留此表中的历史值。每次更改每条记录时,我都希望将此记录的快照插入到另一个表(具有相同的字段)中。我可以逐个字段地执行此操作,但是我敢肯定应该有一个简单的方法来执行此操作。

我已经尝试过类似的方法,但是它不起作用:

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);

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用AutoMapper之类的包在Table1和Table2类之间创建映射。他们有关于如何进行设置的良好文档。您还可以重写SaveChange()方法来处理历史记录的创建/保存。