我只是想实现这一行SQL:
UPDATE table1
SET table1.col = table2.col
FROM table2 INNER JOIN
table1 ON table2.id = table1.id
如何使用实体框架以最少的往返次数完成这项工作?
我能想到的只是使用foreach循环遍历table2
并在table1
中更新它的相关条目,但这会导致很多往返,不是吗?
答案 0 :(得分:1)
目前不幸的是no UPDATE in Entity SQL。解决方法是use regular SQL。如果没有这个,请通过一次加载两个表中所有必需的行并尽可能少地调用SaveChanges来将往返次数保持在最低限度。
答案 1 :(得分:0)
正如Craig所说,EF中没有对多个对象的内置支持,但您可以自己构建或使用以下链接作为参考。
两者都使用相同的逻辑,但efe提供了包装器和更多功能。基本上干净的代码。 (像那样!)。我希望这会有所帮助。
Sanjay Zalke