0
我試圖從一個數據庫中使用lambda表達式獲取數據,但我無法弄清楚如何使用多個表。lambda表達式中的多個表
在SQL我會寫這樣的:
SELECT item.*
FROM Item item, ItemListType listType
WHERE listType.DisplayName = 'student' AND listType.ID = item.ItemListTypeId
但如何將其轉換成一個lambda表達式?
Item
表列:ID, ItemListTypeId
ItemListType
表列:ID, Name
我調用一個函數,並傳遞一個名稱(它存在於ItemListType
)。我已成功地寫爲獲得ItemListType
查詢,但我不知道如何使用多個表中的LINQ查詢:
ItemListType result = await this.ItemListTypes
.Include(i => i.Items).SingleAsync(i => i.Name == name);
太好了!我只是不確定如何在lambda中使用它。這是我現在擁有的:ItemListType結果=等待this.ItemListTypes.Include(i => i.Items).SingleAsync(i => i.Name == name); – TheRuler
@TempTheRuler類似於'await db.ItemListTypes.Where(lt => lt.DisplayName ==「student」)。Join(db.Items,lt => lt.ID,i => i.ItemListTypeId,(lt,i )=> i).ToListAsync()' –
@TempTheRuler或者如果你有導航屬性:'await this.ItemListTypes.Where(lt => lt.DisplayName ==「student」)。SelectMany(lt => lt.Items) .ToListAsync()' –