2013-04-22 234 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); 
相關問題