例如 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