使用Linq-To-SQL插入/选择

有没有办法用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并直接进入数据库.在功能上它应该实现相同的结果,因为它将执行选择然后插入数据 – 但它会将数据从服务器往返到客户端并返回,因此可能不适合大量数据.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...