我一直在摸索着我的這一段時間。假設我做了擴展方法,按日期對項目列表進行分組,以便更改可能的分組,以便可以按日,周或月分組結果。LINQ to SQL - 按日/周/月集團
我想出了下面,但我不斷收到以下錯誤:
方法 'System.Object的DynamicInvoke(System.Object的[])' 有沒有支持轉換爲SQL
方法:
public static IQueryable<IGrouping<MonthDateGroup, T>> GroupByDate<T>(
this IQueryable<T> items,
DateGroupFrequency grouping,
Expression<Func<T, DateTime?>> func)
{
var selector = func.Compile();
IQueryable<IGrouping<MonthDateGroup, T>> grouped = null;
if (grouping == DateGroupFrequency.Daily)
{
grouped = from a in items
let date = selector(a).Value
group a by new MonthDateGroup
{
Day = date.Day, Month = date.Month, Year = date.Year
}
into g
select g;
}
//Rest of groupings...
我假設使用的查詢中的函數功能的原因造成的錯誤,是有可能產生這樣的代碼?
P.S.我仍然在試圖總結我的周圍Func鍵的頭,和表達式:)
我需要在SQL中執行查詢。如果我刪除泛型和Func參數並將其與類綁定,此查詢工作正常,但我需要對多個查詢進行通用支持,並且由於性能限制,它必須在SQL中執行。我假設我缺少使查詢工作所需的語法糖 – Mig 2011-01-13 12:56:00