Hallo dort bin ich auf ein Problem fest und hoffe, jemand kann die Antwort für mich erklären!LINQ Abfrage Entity Framework wie Tabellen beitreten? Navigationseigenschaften?
Also in meiner Datenbank habe ich 3 Tabellen, die wie folgt verbinden:
Customer CustomerAddress Address
-CustomerID -CustomerID -AddressID
-FirstName -AddressID -Street
-LastName -City
So erstelle ich meine Entitätsmodell und die mittlere Tabelle (Customer) entfernt und durch Navigationseigenschaften ersetzt?
Also was ich versuche zu tun ist, die Tabellen mit einer LINQ-Abfrage in C# beizutreten. in SQl die Abfrage würde wie folgt aussehen:
Select *
From dbo.customer as c
left join dbo.customeraddress as ca on c.customerID = ca.customerID
left Join dbo.Address as a on a.addressID = ca.addressID
ich, das ist klar hier nicht der Fall, da es keine Customer Tabelle ist. Benütze ich die Navigationseigenschaften-Spalten, um einen Join zu erstellen? In meinem Modelldiagramm stelle ich fest, dass in der Customer-Klasse/Tabelle eine Navigationseigenschaft mit dem Namen Adressen vorhanden ist, die der Address-Klassen-/Tabelleneigenschaft namens Kunden zuzuordnen scheint.
Also habe ich versucht, dies:
var customerQuery = (from customer in db.Customers
join address in db.Addresses on customer.Addresses equals address.Customers into add
from rt2 in add.DefaultIfEmpty()
select new { //.. });
Aber das ist offensichtlich falsch, denn ich bin nicht sicher, was mit den Navigationseigenschaften zu tun, um sie zu verbinden. Ich würde es sehr schätzen, wenn mir jemand erklären könnte, wie ich mich diesem Modell anschließe!
Warum nicht trotzdem eine Tabelle erstellen? Aber um klar zu sein, möchten Sie sich ihnen anschließen, damit Sie aus den verbundenen Tabellen auswählen können? – Niklas