我試圖重用查詢的一部分,因爲它足夠複雜,我想盡量避免代碼重複。實體框架查詢如何重用(使用方法)?
看來,調用查詢內的任何方法時,你結束了:
LINQ到實體不承認 方法{X}方法,並 這種方法不能被翻譯成 一個店內表達
我想最好做的是使用:
var q = from item in context.Items
where item.SomeCondition == true
select new {Item = item, Connections = GetConnections(item)};
GetConnections
是在item
上執行查詢的方法。我試圖在GetConnections
中重複使用(相當複雜的)查詢,但我不確定如何使其工作。
當前GetConnections的簽名是這樣的:
IQuerable<Connection> GetConnections(MyItem item)
任何想法如果您沒有'IQuerable'而只是'Customer '?這甚至可能嗎? –
2010-07-13 08:28:45
CustomerWithRecentOrders x = myContext.Customers .Where(c => c == myCustomer).Select(selector).Single() – 2010-07-13 12:48:34