1

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

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

3 回答 3

0
var products = dc.abcProducts.Where(p => p.feedSubmitId == submissionId);
foreach(var product in products)
{
  product.prodPublished = '1';
}
于 2012-07-11T12:16:06.083 回答
0

试试这个

dc.abcProducts.Where(p => p.feedSubmitId == submissionId).ToList().ForEach(x=>x.prodPublished = '1');
于 2012-07-11T12:23:23.610 回答
0

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

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

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

dataContext.SetProdPublished(someSubmissionId, 1);

如果要更新多行,这将比在代码中循环更新它们要快,如果要更新很多行则要快得多。

于 2012-07-11T12:25:48.713 回答