2009-06-30 5 views
0

Angenommen, ich habe eine Mitarbeiter- und Abteilungstabelle, der Mitarbeiter hat einen Fremdschlüssel distributionID, der die Hauptabteilung der Abteilungstabelle ist.Wie schreibt man LINQ, um ein einzelnes Objekt mit einer assoziierten Objektinstanz zu erhalten?

Ich verwende folgenden Code, um eine einzelne Instanz einer Entität basierend auf Linq zu SQL zu erhalten: db.Employee.SingleOrDefault (e => e.empid == id); aber ich möchte die Instanz der Abteilung zur gleichen Zeit bekommen. Wie schreibe ich linq für diese Anforderung?

Antwort

3

Wenn die Fremdschlüsselbeziehung in der Datenbank definiert ist, sollte sie automatisch zum Linq-Objekt hinzugefügt werden. Daher wird das Employee Objekt, das zurückgegeben wird, über eine vollständig bevölkerte Department-Eigenschaft verfügen.

Update: Ich habe nicht etwas zu beheben, die Jon Skeet oft geschrieben, also hier ist mir Chance:

var query = from employee in db.Employee 
      where employee.empid == id 
       select new { 
        Employee = employee, 
        Department = employee.department 
       }; 

Linq2Sql wird die Verbindung automatisch tun!

+0

Das ist sehr cool. Mag ich. Könnte auch meine Antwort jetzt löschen :) –

Verwandte Themen