Ich versuche EF aus und ich mache viele Filterung basierend auf vielen zu vielen Beziehungen. Zum Beispiel habe ich Personen, Standorte und eine Personenstandort-Tabelle, um die beiden zu verbinden. Ich habe auch eine Rolle und einen Personrole-Tisch.Entity-Framework und viele bis viele Abfragen unbrauchbar?
EDIT: Tables:
Person (personid, name)
Personlocation (personid, locationid)
Location (locationid, description)
Personrole (personid, roleid)
Role (roleid, description)
EF gibt mir Personen, Rollen und Standorteinheiten. BEARBEITEN: Da EF NICHT die Entitäten personlocation und personrole generiert, können sie nicht in der Abfrage verwendet werden.
Wie erstelle ich eine Abfrage, um mir alle Personen eines bestimmten Ortes mit einer bestimmten Rolle zu geben?
In SQL würde die Abfrage
select p.*
from persons as p
join personlocations as pl on p.personid=pl.personid
join locations as l on pl.locationid=l.locationid
join personroles as pr on p.personid=pr.personid
join roles as r on pr.roleid=r.roleid
where r.description='Student' and l.description='Amsterdam'
Ich habe aussah, aber ich kann keine einfache Lösung zu finden scheinen.
Wenn Sie eine gute Antwort auf diese Frage wollen, sollten Sie die Entity-Typen enthalten. Nach allem, was die Entitäten SQL/LINQ to Entities betrifft, wird nicht auf die Tabellen Bezug genommen. Ansonsten muss ich auf Ihre Eigentumsnamen und Kardinalität raten. –