首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用linq将一个表复制到另一个表

如何使用linq将一个表复制到另一个表
EN

Stack Overflow用户
提问于 2015-03-11 20:18:56
回答 1查看 245关注 0票数 0

我记得当我们使用SQL命令时,我们可以用下面这样的简单代码将一个表数据复制到另一个相同的表中:

代码语言:javascript
复制
INSERT INTO table1 (f1, f2, f3)

SELECT     f1, f2, f3

FROM         table2

现在,我如何在linq中做到这一点?我用foreach做了,但在高范围的数据中,执行我的命令需要很多时间,大约需要7-8分钟。但是有了这个SQL命令,它可以在2-3秒内完成复制。

谁来帮帮我。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-03-11 20:32:03

未经过测试,但尝试如下所示。两个实体(具有相同字段的ENT1和ENT2 )。更新以显示Automapper的用法。

代码语言:javascript
复制
Mapper.CreateMap<ENT1, ENT2>();
var query1 = dbContext.ENT1;
var query2 = dbContext.ENT2;
query2.AddRange(Mapper.Map<List<ENT1>, List<ENT2>>(query1));
dbContext.Update();

如果两个实体都有主键,则可能必须将选择限制为除PK之外的所有字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28986447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档