2

我们可以在 linq 中编写更新语句吗?

例子:

var query = Update customer set isEdit = 1 where id = 1

谢谢

4

3 回答 3

5

不,你不能。LINQ 中的Q代表Query

您可以执行以下操作:

foreach(var c in customer.Where(x => x.Id == 1))
    c.isEdit = 1;
于 2013-04-22T07:12:13.523 回答
3

您可以使用List类的ForEach方法通过执行“看起来像 Linq”查询来缩短更新:

var toUpdate = customer.Where(c => c.id == 1).ToList();
toUpdate.ForEach(c => c.isEdit = 1);
于 2013-04-22T07:32:42.067 回答
1

是的,您可以,请在此处查看我的答案

Foo foo=new Foo { FooId=fooId }; // create obj and set keys
context.Foos.Attach(foo);
foo.Name="test";
context.SubmitChanges();

在您的 Dbml 中,为所有属性设置 UpdateCheck="Never"。

这将生成一个更新语句,而无需先进行选择。

于 2013-04-22T07:28:36.700 回答