按條件更新DB表中的字段而不加載

c# entity-framework entity-framework-core linq

是否可以使用EF Core和LINQ執行簡單的SQL UPDATE運算符?由於類型和重構安全性,我想使用LINQ。我需要避免在應用程序和數據庫驅動程序之間來回加載大量對象基本上我需要像這樣的smth:

DB.Items.Update(i => i.Value = 5).Where(i => i.Flag > 5);

一般承認的答案

到目前為止找到的最佳解決方案是EntityFramework-Plus https://github.com/zzzprojects/EntityFramework-Plus

正如@Smit指出的那樣,它可以在未來的EFCore中實現。可以在此處跟踪進度https://github.com/aspnet/EntityFramework/issues/795


熱門答案

您可以使用輕量級EFBulk nuget包

示例代碼:

var count = db.Items.Where(s => s.Title == "Game")
        .Update(o => new Item { Price = 999, Title = "Tablet" }, db);


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow