IQueryable<Organization> query = context.Organizations;
Func<Reservation, bool> predicate = r => !r.IsDeleted;
query.Select(o => new {
Reservations = o.Reservations.Where(predicate)
}).ToList();
Run Code Online (Sandbox Code Playgroud)
此查询引发"内部.NET Framework数据提供程序错误1025"异常,但下面的查询不会.
query.Select(o => new {
Reservations = o.Reservations.Where( r => !r.IsDeleted)
}).ToList();
Run Code Online (Sandbox Code Playgroud)
我需要使用第一个,因为我需要检查一些if语句来构造正确的谓词.我知道在这种情况下我不能使用if语句,这就是我将委托作为参数传递的原因.
如何使第一个查询起作用?
.net c# entity-framework expression-trees entity-framework-4