Не удалось выполнить перевод метода IContext.EOMONTH.C#

Место общения программистов C#
Anonymous
Не удалось выполнить перевод метода IContext.EOMONTH.

Сообщение Anonymous »

Я пытался следовать ответу в разделе «Как вызвать встроенные функции SQL Linq в EF Core?» но я всегда получаю сообщение об ошибке «Не удалось перевести метод ...IContext.EOMONTH».
Запрос выглядит следующим образом:

Код: Выделить всё

bool IsValid(int id)
=> _context.Entity.FindBy(x => x.IdEntity == id
&& x.State == (int)Enums.Active
&& x.ConfDate.HasValue
&& IContext.EOMONTH(x.ConfDate.Value) >= DateTime.Today)
.Any();
Метод в IContext:

Код: Выделить всё

[DbFunction("EOMONTH", IsBuiltIn = true)]
public static DateTime EOMONTH(DateTime startDate)
=> throw new InvalidOperationException("Don't call EOMONTH directly.");
Стек — это EF Core 7 и SQL Server 2019.
Я попробовал упростить запрос и использовать modelBuilder.HasDbFunction. Я также попробовал изменить типы функции (в EF.Functions даты обычно имеют значение DateTimeOffset)
Как узнать, почему не удалось выполнить перевод? Или что мне нужно исправить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... nth-failed

Вернуться в «C#»