Tôi đang cố di chuyển dự án cũ từ Linq2Sql sang EF6 và tôi gặp vấn đề sau. cấu trúc dbEF 6 lọc các bộ sưu tập trẻ em
Dự án này là đa ngôn ngữ (tức là tất cả các văn bản có nhiều hơn 1 dịch) và tôi đã sau:
cách tốt nhất để có được tất cả ExampleEntity1 đối tượng với tất cả hồ sơ LocalizedContent lọc bởi là gì id ngôn ngữ hiện tại?
tôi có thể tải tất cả đối tượng ExampleEntity1 với tất cả hồ sơ LocalizedContent sử dụng đoạn mã sau: dc.ExampleEntity1.Include(ee => ee.TextEntry.LocalizedContents);
Trong Linq2Sql Tôi có thể lọc hồ sơ LocalizedContent sử dụng loadOptions.AssociateWith
nhưng tôi không thể tìm thấy bất kỳ giải pháp cho EF6.
Tôi thấy các câu hỏi cũ tương tự (được đăng như 2-3 năm trước) và tôi chỉ tự hỏi liệu có giải pháp cho EF6 hay không. Nó là một tính năng rất quan trọng đối với tôi bởi vì tôi có hàng chục thực thể trong dự án và tôi không muốn tạo các đối tượng tùy chỉnh cho mỗi truy vấn chọn.
Tôi cũng thấy EntityFramework.DynamicFilters gói NuGet mà có thể giúp đỡ với vấn đề của tôi, nhưng tôi muốn sử dụng "bản địa" chức năng EF6 nếu có thể ..
Một tùy chọn mà bạn nghĩ đến nhưng có thể không hoạt động cho trường hợp của bạn: hàm cơ sở dữ liệu tùy chỉnh nhận id ngôn ngữ hiện tại và TextEntryId và trả về LocalizedContents chính xác. Chỉ cần ném này ra để hy vọng đốt cháy một số ý tưởng. –
chỉ cần quan tâm ... tại sao bạn không di chuyển fakefield trên textentry để localizedContent và thả bảng textentry, wouldnt này đơn giản hóa những thứ mà không mất bất cứ điều gì. như sau đó bạn sẽ không phải đi qua một bảng liên kết .... mà tôi không thể nhìn thấy những gì nó cho biết thêm khác hơn fakefield ... có thể được di chuyển đến localizedContent ... – Seabizkit
Nếu bạn muốn sử dụng các phương pháp EF bản địa, bạn sẽ kết thúc việc chặn các cây lệnh bằng API chặn mới của EF6. Nếu bạn làm điều đó, cuối cùng bạn sẽ tạo lại EntityFramework.DynamicFilters. Tôi sẽ đi cho gói Nuget. –