C# 更新数据库中的多个记录

C# 更新数据库中的多个记录,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我正在尝试更新数据库中的多条记录,我有以下代码,用于更新1项。 如何更新多个 abcProduct productUpdate = dc.abcProducts.Single(p => p.feedSubmitId == submissionId); productUpdate.prodPublished = '1'; 试试这个 dc.abcProducts.Where(p => p.feedSubmitId == submissionId).ToList().ForEach(x=

我正在尝试更新数据库中的多条记录,我有以下代码,用于更新1项。
如何更新多个

abcProduct productUpdate = dc.abcProducts.Single(p => p.feedSubmitId == submissionId);
productUpdate.prodPublished = '1';
试试这个

dc.abcProducts.Where(p => p.feedSubmitId == submissionId).ToList().ForEach(x=>x.prodPublished = '1');

还可以在数据库中编写存储过程

CREATE PROCEDURE SetProdPublished
    @submissionId int
    @prodPublished int
AS
    UPDATE AbcProducts SET prodPublished = @prodPublished
    WHERE feedSubmitId = @submissionId
然后将该存储过程拖到DBML中。然后可以调用该存储过程

dataContext.SetProdPublished(someSubmissionId, 1);

如果更新的行数超过几行,这将比在代码循环中更新它们快得多,如果更新的行数过多,更新速度也会快得多。

使用
forach
或任何其他循环构造?在linq2sql中,唯一的方法是迭代项。如果想要基于集合的更新,则需要使用SQL。
dataContext.SetProdPublished(someSubmissionId, 1);