In einem Linq Model kann man ein “Join” relativ einfach hinbekommen wenn die Einzelnen Elemente bereits Beziehungen haben. (Stichwort EntitySet<T>) Durch diese Beziehung kann man nun Abfragen (die mehr als ein Objekt/Tabelle betreffen) sehr einfach mit der . Schreibweise definieren.
1: var query = from o in DB.Orders
2: select new
3: {
4: Name = o.Customer.CompanyName,
5: OrderID = o.OrderID
6: };
Doch oftmals gibts genau diese Beziehung zwischen den Objekten nicht (hier zwischen Customer u. Order). Wie kommt man trotzdem zum Ergebnis? Join-Keyword!
2: join c in DB.Customers on o.CustomerID equals c.CustomerID
3: select new
4: {
5: Name = c.CompanyName,
6: OrderID = o.OrderID
7: };
Download Sample: LinqJoin.zip