Entity framework。将一个实体 class 的值插入到另一个不同的实体

Entity framework. Insert values from one entity class to another different one

这是我的问题...

我有一个实体 class,我想保留这个 table 的历史值。每次更改每条记录时,我都想将此记录的快照插入另一个 table(具有相同字段)。我可以逐个字段地执行此操作,但我确信应该有一种简单的方法来执行此操作。

我试过类似的方法,但没有用:

var t1 = context.TABLE1.Find(id);
var t2 = new TABLE2();
context.Entry(t2).CurrentValues.SetValues(t1);
context.SaveChanges();

我找到了这个 但它对我不起作用,因为我的 table 不能做这个 post[=15= 上所说的]

t2.CurrentValues.SetValues(t1);

有什么想法吗?

您可以使用像 AutoMapper 这样的包来创建 Table1 和 Table2 类 之间的映射。他们有关于如何设置的很好的文档。您还可以覆盖 SaveChange() 方法来处理历史记录的 creation/saving。