Tôi đã có một vài tháng kinh nghiệm làm việc với Entity Framework và chủ yếu là viết một tấn truy vấn dữ liệu truy vấn LINQ chống lại nó. Tôi đến từ một nền sql nặng, và đang cố gắng để tối ưu hóa một số sql cho hiệu suất và khả năng đọc nếu tôi đang cố gắng để gỡ lỗi các vấn đề hiệu suất.Entity Framework Truy vấn Tối ưu hóa
Tôi nhận thấy một số các sql tạo làm những việc như thế này cho một tableA với các cột {col1, col2, col3}
select
Extent1.col1
from
(
select col1, col2, col3 from tableA
) AS Extent1
Câu hỏi của tôi là, làm thế nào để ngăn chặn nó làm các bảng này có nguồn gốc vô dụng và thay vào đó chỉ cần
select col1 from tableA
nơi cần thiết? Tôi dường như không thể hiểu tại sao đôi khi nó lại xảy ra và đôi khi nó không ...
Tôi muốn nghe suy nghĩ của người khác; nhưng tôi nghĩ đây chỉ là một trong những điểm thu hút của việc sử dụng EF (cũng như các ORM khác?). Bạn mất rất nhiều quyền kiểm soát đối với SQL thực tế được tạo ra và SQL được tạo ra thường khá tệ. – CodingGorilla
có thể trùng lặp của [Cải thiện truy vấn được tạo từ khung thực thể] (http://stackoverflow.com/questions/7418675/improve-query-generated-from-entity-framework) –