Загрузите родительскую и дочернюю таблицу в один запрос linq для предоставления - PullRequest
1 голос
/ 19 мая 2010

У меня есть следующая структура таблиц / классов в Linq для сущностей.

Books
{
 bookId,
 Title
}

Tags
{
  TagId
  Tag
}

BooksTags
{
 BookId
 TagId
}

Теперь мне нужно написать запрос, который даст мне результат, подобный этому

Class Result
{
 bookId,
 Title,
 Tags
}

Теги должны быть разделены запятыми из таблицы тегов, объединяя все три таблицы. Как это сделать.

Спасибо

Parminder

1 Ответ

2 голосов
/ 19 мая 2010
(from b in books
select new { BookId = b.BookId,
             Title = b.Title,
             Tags = bookTag.Where(bt => bt.BookId == b.BookId).Select(bt => tags.Single(t => t.TagId == bt.TagId).TagTitle)
           }).ToList().Select( t => new 
           { BookId = b.BookId,
             Title = b.Title,
             Tags = string.Join(", ", t.Tags.ToArray())
           }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...