Я почесал голову над этим какое-то время.Скажем, я делаю метод расширения, чтобы сгруппировать список элементов по дате, я хочу изменить возможную группировку, чтобы результаты могли быть сгруппированы по дням, неделям или месяцам.
Я пришел к следующему, но я продолжаю получать следующую ошибку:
Метод '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...
Я предполагаю, что использование Func в Query вызывает ошибку, возможно ли создать код, подобный этому?
PS Я все еще пытаюсь обернуть мойОбойдите вокруг Func's и выражения:)