您好我正在开发一个wpf应用程序。我正在使用linq to sql进行所有数据库操作。
现在我想通过比较主键来同时从记录列表中更新多个记录。 即在sql server 2005中
我们将一个xml传递给过程,我们打开它并更新记录,如
SELECT * INTO #TMP FROM openxml(Myxml);
UPDATE myPhysicalTable SET
myColumnName = #TMP.myColumnName
, myColumnName1 = #TMP.myColumnName1
FROM #TMP
WHERE myPhysicalTable.pkid = #TMP.pkid
现在我想在这里从linq到sql做同样的事情然后请建议正确的方法。
答案 0 :(得分:0)
Linq to sql不支持开箱即用的基于集合的操作。所以你需要这样的东西
更新的 至于你的评论,是的:它的效率低于SQL中的UPDATE。 Linq to Sql将为每次更新发送一个更新语句。即使只调用SubmitChanges()一次,您也会获得单独的更新(但在一次交易中)。
因此,您可能需要重新考虑使用Linq2sql进行此特定操作,特别是如果您有大型集合。