Я прочитал официальную документацию и знаю что в EF Core 8 внесены изменения, влияющие на преобразование содержимого в SQL, что приводит к проблемам совместимости с SQL Server.
Код: Выделить всё
public async Task GetItemsAsync()
{
var idsList = new List { 101, 102, 103, 104, 105 };
Expression filter = item => idsList.Contains(item.ItemId);
var items = await _myRepository.GetWithFilter(
filter: filter,
orderBy: null, // Optional
includeProperties: x => x.RelatedData // Optional
);
return items;
}
Использование idsList.Contains(item.ItemId) приводит к тому, что SQL несовместим с SQL. Server 2022, что приводит к синтаксическим ошибкам во время выполнения запроса.
Дополнительная информация
Основная версия Entity Framework: 8
Версия SQL Server: 2022 (уровень совместимости 100)
Я изучил различные обходные пути, но не нашел совместимого решения.
Предложите способ фильтрации объектов, которые будут работать с SQL Server 2022 с совместимостью 100.
Подробнее здесь: https://stackoverflow.com/questions/788 ... -with-comp
Мобильная версия