Làm thế nào để cập nhật hàng loạt các thực thể sử dụng EF Core (7)?Entity Framework Core (7) cập nhật hàng loạt
Tôi không muốn tải thực thể từ máy chủ DB, sửa đổi thuộc tính và cập nhật. Tôi chỉ muốn EF tạo ra tuyên bố UPDATE thích hợp.
Làm thế nào để cập nhật hàng loạt các thực thể sử dụng EF Core (7)?Entity Framework Core (7) cập nhật hàng loạt
Tôi không muốn tải thực thể từ máy chủ DB, sửa đổi thuộc tính và cập nhật. Tôi chỉ muốn EF tạo ra tuyên bố UPDATE thích hợp.
Khi trả lời chấp nhận chỉ, Entity Framework Core không hỗ trợ cập nhật trực tiếp vào cơ sở dữ liệu được nêu ra.
Disclaimer: Tôi là chủ sở hữu của dự án Entity Framework Plus
Tuy nhiên, EF + đã hỗ trợ Query hàng loạt Cập nhật mà không bốc tổ chức trong bối cảnh (Hỗ trợ: EF Core, EF6, EF5)
// using Z.EntityFramework.Plus; // Don't forget to include this.
// UPDATE all users inactive for 2 years
ctx.Users.Where(x => x.LastLoginDate < DateTime.Now.AddYears(-2))
.Update(x => new User() { IsSoftDeleted = 1 });
Vào ngày tôi đăng câu trả lời này, với thông tin trong sở hữu của tôi, có vẻ như nó là một work in progress
Xem https://github.com/aspnet/EntityFramework/issues/795
EF không cung cấp một cơ chế cập nhật hàng loạt. Đề xuất dưới đây. Context.Customers.Update() .Vào đâu. (C => c.CustType == "Mới") Đặt (x => x.CreditLimit = 0)
Bạn có cân nhắc tính năng này không? Xem thêm chi tiết ở đây: https://entityframework.codeplex.com/workitem/52
Tôi thấy, lạ tôi không google mà một mình, đã thử rất nhiều. –
Điều đó thật hoàn hảo. Điều này phải được thực hiện trực tiếp trong EF CORE. Cảm ơn. –