Linq to entities Left Join

Je veux atteindre les objectifs suivants dans Linq to entities:

Obtenir toutes les Demandes de renseignements qui n'ont pas d'Application ou l'Application dispose d'un statut != 4 (Terminé)

select e.*
from Enquiry enq
left outer join Application app
 on enq.enquiryid = app.enquiryid
where app.Status <> 4 or app.enquiryid is null

Quelqu'un a fait cela avant, sans l'aide de DefaultIfEmpty(), ce qui n'est pas pris en charge par Linq to entities?

J'essaye d'ajouter un filtre pour un IQueryable requête comme ceci:

IQueryable<Enquiry> query = Context.EnquirySet; 

query = (from e in query 
         where e.Applications.DefaultIfEmpty()
                             .Where(app=>app.Status != 4).Count() >= 1 
         select e);

Merci
Marque

  • Pour ce que ça vaut DefaultIfEmpty est inclus dans les EF .NET 4.0.
  • Merci Damien - l'avenir de l'EF améliorations .NET 4
InformationsquelleAutor Mark | 2009-10-01