Ich versuche, Daten aus einer Datenbank mit einem Lambda-Ausdruck abzurufen, aber ich kann nicht herausfinden, wie mehrere Tabellen verwenden.Mehrere Tabellen in Lambda-Ausdruck
In SQL würde ich schreiben:
SELECT item.*
FROM Item item, ItemListType listType
WHERE listType.DisplayName = 'student' AND listType.ID = item.ItemListTypeId
aber wie kann ich umwandeln, dass die Expression zu einem Lambda?
Item
Tabellenspalten:ID, ItemListTypeId
ItemListType
Tabellenspalten:ID, Name
nenne ich eine Funktion und übergibt einen Namen (der in ItemListType
existiert). Ich habe es geschafft, eine Abfrage zu schreiben ItemListType
für immer, aber ich kann nicht verstehen, wie mehrere Tabellen in LINQ-Abfragen verwenden:
ItemListType result = await this.ItemListTypes
.Include(i => i.Items).SingleAsync(i => i.Name == name);
Great! Ich bin mir nicht sicher, wie man das in Lambda benutzt. das ist was ich jetzt habe: ItemListType result = erwarte this.ItemListTypes.Include (i => i.Items) .SingleAsync (i => i.Name == name); – TheRuler
@TempTheRuler etwas wie 'erwarten db.ItemListTypes.Where (lt => lt.DisplayName ==" Schüler "). Join (db.Items, lt => lt.ID, i => i.ItemListTypeId, (lt, i) => i) .ToListAsync() ' –
@TempTheRuler oder wenn Sie eine Navigationseigenschaft haben:' aware this.ItemListTypes.Where (lt => lt.DisplayName == "student"). SelectMany (lt => lt.Items) .ToListAsync() ' –