2013-04-22 245 views

回答

4

不,你不能。 LINQ中的Q代表查询

你可以做的是:

foreach(var c in customer.Where(x => x.Id == 1)) 
    c.isEdit = 1; 
+0

感谢ü丹尼尔。 – user2285357 2013-04-22 07:13:21

+0

在Linq To SQL中,这个函数不是每行都打到数据库吗? – 2013-04-22 07:34:27

+0

@ Scorpi0:很可能,是的。但是因为客户的ID可能是唯一的密钥,所以这并不重要,因为只有一行。 – 2013-04-22 07:37:37

1

当然可以,see my answer here

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

在你的Dbml中设置UpdateCheck =“Never”为所有属性。

这将生成单个更新语句,而不必首先进行选择。

1

你可以做一个快捷键更新“看起来像LINQ的”查询,使用类ListForEach方法:

var toUpdate = customer.Where(c => c.id == 1).ToList(); 
toUpdate.ForEach(c => c.isEdit = 1); 
相关问题