Ich versuche, 3 Tabellen in einer Abfrage mit Linq beizutreten, um Daten von allen 3 Tabellen zu erhalten. Unten ist ein Bild der Tabellenschemata:Wie man 3 Tabellen mit linq verbindet
Die Abfrage wählen sollte: SewagePlantName, Company und Duty-
Außerdem muss ich die SewagePlantId auf eine Liste von Ids beschränkt, die als gegeben:
var sewagePlantIds = UnitOfWork.GetAll<UserGroup>()
.Where(group => group.Id == webAppPrincipal.GroupId)
.SelectMany(group => group.SewagePlantId).Select(sewageplant => sewageplant.Id).ToList();
Ich habe Schwierigkeiten mit der Reihenfolge der Beitritt der 3 Tabellen und wo/wie die SewagePlantId auf die angegebene Liste zu beschränken.
Bitte helfen. Danke, Manu
, dass ein schlechtes Design ist. Verwenden Sie * Relationen * zwischen den * Entitäten * und lassen Sie das ORM tun, was auch immer benötigt wird. 'SewagePlant' sollte ein' Company'-Eigentum haben. "Unternehmen" sollte eine "Aufgaben" -Sammlung haben. Laden Sie eine einzelne "Firma" und Sie erhalten Zugang zu allen verwandten Objekten –
Aber in diesem Fall hat SewagePlant n Firmen und nicht umgekehrt. – Manu
Also machen Sie es auch eine Sammlung. Miss * nur * dein ORM nicht. Erstellen Sie die richtigen Beziehungen, * versuchen Sie nicht, beizutreten, als ob Sie SQL verwenden würden. –