有没有办法用Linq进行插入/选择转换为这个sql:
INSERT INTO TableA (...) SELECT ... FROM TableB WHERE ...
解决方法
是的@bzlm首先介绍它,但是如果你喜欢更冗长的东西:
// dc = DataContext,assumes TableA contains items of type A var toInsert = from b in TableB where ... select new A { ... }; TableA.InsertAllOnSubmit(toInsert); dc.SubmitChanges();
从评论/维护的角度来看,我更喜欢这一点,因为我认为选择中发生了什么更为明显.
回应@JfBeaulac的观察:
请注意,这不会生成显示的sql – 只要我知道它实际上不可能直接使用Linq(到sql)生成,您必须绕过linq并直接进入数据库.在功能上它应该实现相同的结果,因为它将执行选择然后插入数据 – 但它会将数据从服务器往返到客户端并返回,因此可能不适合大量数据.
原文地址:https://www.jb51.cc/mssql/83310.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。