例如 DB用2個表LINQ的連接查詢
Book [BookId (int), Title (nvarchar), ShowInWebshop (bit)] and
InventoryDetail [InventoryDetailId (int), BookId (int), Quantity (int)]
執行:SELECT * FROM Books LEFT JOIN InventoryDetails ON books.BookId = InventoryDetails.BookId
輸出顯示所有預訂列和相關InventoryDetails列(包括InventoryDetails.BookId列) ..所以遠所以好... 試圖將這個查詢轉換成Linq的一個(使用LinqPad,比較幾個例子,常識等)我編譯了以下通用列表(因爲我想要一個列表)
private List<Book> Books(int count){
var books = webshopDB.Books
.Join<Book, InventoryDetail, int, Book>(webshopDB.InventoryDetails,
b => b.BookId,
i => i.BookId,
(b, i) => b)
.Where(b => b.ShowInWebshop == true)
.Take(count)
.ToList();
return books
}
此模塊返回書籍列表!雖然不是我期望的那個!它僅返回書名的詳細信息,例如Title和ShowOnSite,而不是InventoryDetail表中的詳細信息:數量
我該怎麼忘記?
查詢您的答案會產生錯誤!下面的作品(在LinqPad4中):從b在Books 中從我在InventoryDetails中b.BookId == i.BookId其中b.ShowInWebshop == true選擇新的{b.Title,i.Quantity} – KWHJ 2010-11-16 16:59:30
是的,這是正確的。對不起,疏忽了;當我發佈答案時,我沒有LinqPad或其他開發工具。 – SoftwareRockstar 2010-11-17 04:48:00