IQueryable<Organization> query = context.Organizations;
Func<Reservation, bool> predicate = r => !r.IsDeleted;
query.Select(o => new {
Reservations = o.Reservations.Where(predicate)
}).ToList();
cette requête lève une exception interne "erreur 1025" du fournisseur de données .NET Framework, mais pas la requête ci-dessous.
query.Select(o => new {
Reservations = o.Reservations.Where( r => !r.IsDeleted)
}).ToList();
Je dois utiliser le premier car je dois vérifier quelques instructions if pour construire le prédicat droit. Je sais que je ne peux pas utiliser si des déclarations dans cette circonstance, c’est pourquoi je passe délégué en tant que paramètre.
Comment puis-je le faire fonctionner première requête?