Я создал следующую функцию, чтобы получить разницу дат:
public static double MonthsDifference(DateTime dtStart, DateTime dtNow)
{
DateTime start = dtStart;
DateTime end = dtNow;
int compMonth = (end.Month + end.Year * 12) - (start.Month + start.Year * 12);
double daysInEndMonth = (end - end.AddMonths(1)).Days;
double months = compMonth + (start.Day - end.Day) / daysInEndMonth;
return months;
}
Я использую его в своем запросе LINQ
var query = from c in context.AccountOwners.Where( MonthsDifference(p.Account.StateChangeDate,DateTime.Now) < 4 )
select c;
return query.Count();
но выдает ошибку:
LINQ to Entities не распознает метод метода Double MonthsDifference (System.DateTime, System.DateTime), и этот метод нельзя преобразовать в выражение хранилища.
Пожалуйста, предложите решение