Внутренняя ошибка поставщика данных.NET Framework 1025

IQueryable<Organization> query = context.Organizations;

Func<Reservation, bool> predicate = r => !r.IsDeleted;

query.Select(o => new { 
    Reservations = o.Reservations.Where(predicate)
}).ToList();

этот запрос вызывает исключение «Внутренняя ошибка поставщика данных.NET Framework 1025», но приведенный ниже запрос этого не делает.

query.Select(o => new { 
    Reservations = o.Reservations.Where( r => !r.IsDeleted)
}).ToList();

Мне нужно использовать первый, потому что мне нужно проверить несколько операторов if для построения правильного предиката. Я знаю, что не могу использовать операторы if в этом случае, поэтому я передаю делегат в качестве параметра.

Как заставить работать первый запрос?

55
задан Ilia Anastassov 4 November 2016 в 08:20
поделиться