Zuerst EF 6-Code verwenden. Ich habe eine Entity-Klasse und eine Name-Klasse und möchte eine Liste aller Entity-Objekte mit ihren jeweiligen Namen abfragen, so dass ich sie in einem Gridview-Steuerelement anzeigen kann.EF LINQ - Abfrage von 2 Tabellen, die mit Fremdschlüssel verknüpft sind?
sind meine Klassendefinitionen sind:
public class Entity
{
[Key]
public int EntityKey { get; set; }
public virtual ICollection<Name> Names { get; set; }
}
public class Name
{
[Key]
public int NameKey { get; set; }
public int EntityKey { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual Entity Entity { get; set; }
}
In meinem Data Access Layer, habe ich eine Methode, die alle Objekte aus der Datenbank bekommt:
public List<Entity> GetEntities()
{
SdmDBContext entityDbContext = new SdmDBContext();
return entityDbContext.Entities.ToList();
}
aber mit dieser Abfrage, kann ich nicht Abrufen der Namen, die der Entity-Klasse zugeordnet sind. Ich habe versucht, LINQ und Lambda-Ausdrücke, sowie eine .Include-Operation, aber nicht sicher, wie Sie die Syntax richtig zu formulieren.
Wie kann ich die DAL-Methode ändern, um die mit allen vorhandenen Entitäten verknüpften Namen zurückzugeben?
'entityDbContext.Entities.Include zurückzukehren (e => e.Names) .ToList();' Stellen Sie sicher, 'enthalten System.Data.Entity verwendet;' –
zeigen die Code von dem, was Sie versucht haben. Derzeit haben wir keine Möglichkeit zu sehen, warum "Include" nicht effektiv war. –