更新数据库中的多个记录

时间:2012-07-11 12:13:46

标签: c# asp.net linq-to-sql

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

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

3 个答案:

答案 0 :(得分:0)

var products = dc.abcProducts.Where(p => p.feedSubmitId == submissionId);
foreach(var product in products)
{
  product.prodPublished = '1';
}

答案 1 :(得分:0)

试试这个

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

答案 2 :(得分:0)

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

CREATE PROCEDURE SetProdPublished
    @submissionId int
    @prodPublished int
AS
    UPDATE AbcProducts SET prodPublished = @prodPublished
    WHERE feedSubmitId = @submissionId

然后将该存储过程拖到DBML中。然后,您可以调用该存储过程。

dataContext.SetProdPublished(someSubmissionId, 1);

如果要更新多行,这比在代码循环中更新它们要快,如果你要更新很多行,速度会快得多。