Ich möchte Tabellen basierend auf der Definition des Modells mithilfe von linq verknüpfen. Beispiel dafür, was ich will:Verknüpfen Sie LINQ-Tabellen basierend auf der Modelldefinition
von Abteilung in User.departments ...
Meine Klassen sind:
Benutzerklasse:
public class User
{
public User() {
Departments = new List<Department>();
}
public int UserId { get; set; }
public string UserName { get; set; }
public virtual ICollection<Department> Departments { get; set; }
}
DEPARTMENT KLASSE:
public class Department
{
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public virtual User User { get; set; }
}
Ich bin in der Benutzerklasse zu schaffen dies:
public bool hasDepartment(int DepartmentId, int UserId)
{
var test = from department in User.departments
//...
}
Aber ich habe diese Nachricht: ‚User‘ enthält keine Definition für ‚Abteilungen‘.
Ich erstelle eine ASP.NET MVC-Anwendung. Mache ich etwas falsch?
warum 'hier virtual'? –
LINQ ist korrekt, das Benutzerobjekt hat keine Definition für 'Abteilungen'. Es gibt jedoch einen für "Abteilungen" (Gehäuse beachten). Ich stimme auch @Div zu, warum virtuelle Eigenschaften? Werden Sie diese irgendwo anders in anderen Unterklassen überladen? –
@Div am wahrscheinlichsten für Lazy Loading: http://Stackoverflow.com/a/5599270/3330348 – PiotrWolkowski