Plusieurs tables de jointure gauche à l'aide de Linq
Je sais que le Linq jointure gauche comme ceci:
var q=from e in db.Employes
join o in db.Orders on e equals o.Emoloyee into ords
from on in ords.DefautIfEmpty()
select new
{
e.FirstName,
e.LastName
};
alors les multiples rejoindre? voici mon code
var personalInfoQuery = from t in crnnsupContext.Tombstones
join p in crnnsupContext.ProvStates on t.ProvinceState equals p.ProvinceStateID
join n in crnnsupContext.NursingSchools on t.NursingSchool equals n.SchoolID
join i in crnnsupContext.InitialEducations on t.InitialEducation equals SqlFunctions.StringConvert((double)i.InitalEducationID, 1)
join g in crnnsupContext.tbl_GraduatedProvCountry on t.GradPovCountry equals g.id
where t.RegNumber == _username
select new CPersonalInfo
{
ProvState = p,
Tombstone = t,
NursingSchool = n,
InitialEducation = i,
GraduatedProvCountry = g,
};
chaque table jointe pourrait avoir la valeur "null". peut m'aider, merci
OriginalL'auteur pita | 2012-06-06
Vous devez vous connecter pour publier un commentaire.
Multi rejoindre l'air tout à fait semblable, il devient assez verbeux, mais je voudrais donner à ceci un essai.
Vous pourriez avoir besoin de certains null vérification lors de la finale
where
ligne trop.Il semble y avoir une autre façon de faire les jointures externes aussi bien, mais sans avoir quelque chose à tester, je ne suis même pas sûr si c'est possible de l'utiliser dans ce cas - découvrez la réponse sur ce post si vous êtes intéressé:
jointure externe dans linq
Le problème avec cette déclaration est sa traduction. Seule la première jointure sera traduit comme une jointure gauche, d'autres seront des jointures internes avec des conditions pour autoriser les valeurs null.
Cherché quelques exemples, celui-ci est le seul qui fonctionne dans mon cas.
Je reçois "la référence d'Objet n'est pas définie à une instance d'un objet" erreur
OriginalL'auteur Joanna Derks