使用Entity Framework更新語句

entity-framework executenonquery

簡單的問題,是否可以在更新一個實體時使用Entity Framework實現此查詢?

update test set value = value + 1 where id = 10

一般承認的答案

不是這種形式沒有。

您必須選擇符合條件的所有實體,對它們進行預測並更新它們。

如果您正在尋找可以在數據庫中正確執行的操作,因為您的設置可能很大,則必須直接使用SQL。 (我不記得EF是否有辦法直接以Linq To SQL的方式執行UPDATE查詢)。


熱門答案

使用Entity Framework擴展庫的批量更新功能,如下所示:

dbContext.Tests.Update(t => t.Id == 10, t => new Test() { Value = t.Value + 1 });


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因