Tôi đang cố gắng sử dụng lại một phần truy vấn, vì nó phức tạp đến nỗi tôi muốn cố gắng tránh trùng lặp mã.Làm cách nào để có thể sử dụng lại các truy vấn Khung thực thể (sử dụng các phương pháp)?
Dường như khi gọi bất kỳ phương pháp bên trong một truy vấn, bạn kết thúc với:
LINQ to Entities không nhận phương pháp {X} phương pháp, và phương pháp này không thể được dịch ra tiếng một cửa hàng biểu
Những gì tôi muốn làm lý tưởng là sử dụng:
var q = from item in context.Items
where item.SomeCondition == true
select new {Item = item, Connections = GetConnections(item)};
GetConnections
là phương pháp thực hiện truy vấn trên item
. Tôi đang cố gắng tái sử dụng truy vấn (khá phức tạp) trong GetConnections
, nhưng tôi không chắc chắn làm thế nào để có được điều này để làm việc.
chữ ký hiện tại của GetConnections là một cái gì đó như:
IQuerable<Connection> GetConnections(MyItem item)
Bất kỳ ý tưởng nào cũng làm như vậy khi bạn không có 'IQuerable' nhưng chỉ là 'Khách hàng '? Điều đó thậm chí có thể? –
CustomerWithRecentOrders x = myContext.Customers .Where (c => c == myCustomer) .Chọn (bộ chọn) .Single() –