Например DB с 2 ТаблицыLinq запрос присоединиться к
Book [BookId (int), Title (nvarchar), ShowInWebshop (bit)] and
InventoryDetail [InventoryDetailId (int), BookId (int), Quantity (int)]
Execute: SELECT * FROM Books LEFT JOIN InventoryDetails ON books.BookId = InventoryDetails.BookId
Выходной сигнал показывает все столбцы книга и связанные с ними InventoryDetails столбцов (в том числе колонны InventoryDetails.BookId) ..so далеко так хорошо ... Пытаемся преобразовать этот запрос в 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: Количество
Что я могу забыть?
Quering вашего ответа генерирует ошибку! Следующие работы (в LinqPad4): от b в книгах от i в InventoryDetails где b.BookId == i.BookId где b.ShowInWebshop == true select new {b.Title, i.Quantity} – KWHJ
Да, это правильно , Извините за недосмотр; В то время, когда я отправил ответ, у меня не было LinqPad или другого инструмента для разработки. – SoftwareRockstar