IQueryable<Organization> query = context.Organizations;
Func<Reservation, bool> predicate = r => !r.IsDeleted;
query.Select(o => new {
Reservations = o.Reservations.Where(predicate)
}).ToList();
このクエリは「Internal .NET Framework Data Provider error 1025」例外をスローしますが、以下のクエリはスローしません。
query.Select(o => new {
Reservations = o.Reservations.Where( r => !r.IsDeleted)
}).ToList();
最初のものを使用する必要があるのは、正しい述語を構築するためにいくつかの if ステートメントをチェックする必要があるためです。この状況では if ステートメントを使用できないことがわかっているため、デリゲートをパラメーターとして渡します。
最初のクエリを機能させるにはどうすればよいですか?