Tôi đang gặp phải một số vấn đề về hiệu suất với các truy vấn Code-First Entity Framework và tôi tin rằng sự biên dịch trước có thể là câu trả lời. Nếu tôi đang sử dụng Khung thực thể "bình thường", tôi chỉ cần sử dụng phương thức CompiledQuery.Compile để xử lý trước các truy vấn của mình. Nhưng kể từ khi tôi có một DbContext và không phải là một ObjectContext, tôi không thể làm điều này để làm việc.Làm cách nào để biên dịch trước một Truy vấn đầu tiên của Mã khung thực thể?
Tôi nhận ra rằng DbContext là IObjectContextAdapter, cho phép tôi truy cập vào ObjectContext, nhưng tôi không thể tìm thấy phương pháp cho phép tôi lấy IQueryable từ ngữ cảnh đối tượng hoạt động trong truy vấn được biên dịch trước của tôi. Tôi đã cố gắng sử dụng CreateObjectSet, nhưng khi EF cố chạy truy vấn, nó đã phàn nàn rằng nó không thể chuyển đổi phương thức đó thành SQL.
Vậy cách tốt nhất để biên dịch trước các truy vấn LINQ đối với DbContext Mã-Đầu tiên là gì?
Điều này có nghĩa là nó sẽ chỉ khả dụng trên .NET 4.5? Hoặc nó sẽ được phát hành trong EF4.3? –
@Nelson: Chỉ trong .NET 4.5 –
Có nó được giải quyết trong Entity Framework 5 trở lên. –