当前位置:  开发笔记 > 数据库 > 正文

更新多行Linq vs SQL

如何解决《更新多行LinqvsSQL》经验,为你挑选了2个好方法。

前段时间我写了一段代码来更新数据库表中的多行.代码是这样的

var db = new MyDataContext();
db.Execute("UPDATE Details SET IsActive = 0 WHERE MasterId = 1");

然后有一天,当我得到文件的最新版本时,我看到有人将代码改为这样的东西

var details = from d in db.details where d.MasterId == 1 select d;
foreach (var detail in details)
  detail.IsActive = false;
db.SubmitChanges();

所以我的问题是:更新多行的更好方法是什么?使用Linq还是SQL?



1> CMS..:

检查本文中使用的方法:

使用LINQ to SQL批量更新和删除



2> tvanfosson..:

我要说这取决于数据库的效率或抽象对您来说是否更重要.SQL方法将在您的代码中创建一个更难跟踪的依赖项,但效率更高.引用的LINQ示例删除了对手动编码SQL的依赖性,但涉及至少2个查询和一些服务器端处理.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有