Đúng. Viết lại truy vấn LINQ. Hầu hết các truy vấn LINQ to Entities có thể được viết theo nhiều cách khác nhau và sẽ được dịch sang SQL theo cách khác. Vì bạn không hiển thị LINQ, SQL cũng như kế hoạch truy vấn, đó là tất cả những gì tôi có thể nói.
Tuy nhiên, bạn thật thông minh khi thử thực thi SQL trực tiếp. Việc biên dịch truy vấn cũng có thể mất thời gian, nhưng bạn đã loại trừ điều đó bằng cách xác định rằng SQL chiếm toàn bộ thời gian đo được.
Hãy thử:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
from ev in pe.Event // presuming one to many
select ev;
hoặc nếu pe.Event là 1-1:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;