我记得当我们使用SQL命令时,我们可以用下面这样的简单代码将一个表数据复制到另一个相同的表中:
INSERT INTO table1 (f1, f2, f3)
SELECT f1, f2, f3
FROM table2现在,我如何在linq中做到这一点?我用foreach做了,但在高范围的数据中,执行我的命令需要很多时间,大约需要7-8分钟。但是有了这个SQL命令,它可以在2-3秒内完成复制。
谁来帮帮我。
谢谢
发布于 2015-03-11 20:32:03
未经过测试,但尝试如下所示。两个实体(具有相同字段的ENT1和ENT2 )。更新以显示Automapper的用法。
Mapper.CreateMap<ENT1, ENT2>();
var query1 = dbContext.ENT1;
var query2 = dbContext.ENT2;
query2.AddRange(Mapper.Map<List<ENT1>, List<ENT2>>(query1));
dbContext.Update();如果两个实体都有主键,则可能必须将选择限制为除PK之外的所有字段。
https://stackoverflow.com/questions/28986447
复制相似问题