加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

linq-to-sql – 使用LINQ to SQL进行批量更新

发布时间:2020-12-12 06:57:58 所属栏目:MsSql教程 来源:网络整理
导读:有没有办法用LINQ对集合进行批量更新?目前,如果我有一个List myObject我想将list1更新为等于List中每一行的TEST我将设置一个foreach循环,然后对于每个单独的对象,我将设置该值,然后保存它.这工作正常,但我只是想知道是否有一些LINQ方法,我可以做一些像myOjec
有没有办法用LINQ对集合进行批量更新?目前,如果我有一个List< myObject>我想将list1更新为等于List中每一行的TEST我将设置一个foreach循环,然后对于每个单独的对象,我将设置该值,然后保存它.这工作正常,但我只是想知道是否有一些LINQ方法,我可以做一些像myOject.BulkUpdate(columnName,value)?

解决方法

听起来你正在使用LINQ To SQL,而且你已经掌握了基础知识.

LINQ To SQL是关于将表抽象为类,并不真正提供您正在寻找的“银弹”或单行.

实现这一目标的唯一方法是实现你的单行程序,使存储过程获取该列名和新值,并自己实现该逻辑.

db.MassUpdateTableColumn("Customer","Name","TEST");

 ....
CREATE PROC MassUpdateTableColumn
    @TableName varchar(100),@ColumnName varchar(100),@NewVal varchar(100)
 AS
    /*your dynamic SQL to update a table column with a new val. */

否则,就像你描述的那样:

List<Customer> myCusts = db.Customers.ToList();
 foreach(Customer c in myCusts)
 {
     c.Name = "TEST";
 }     
 db.SubmitChanges();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读