我在Linq中有以下表/类结构。
Books
{
bookId,
Title
}
Tags
{
TagId
Tag
}
BooksTags
{
BookId
TagId
}
现在我需要写一个查询,它给我这样的结果
Class Result
{
bookId,
Title,
Tags
}
通过连接所有三个表,标签应该是逗号分隔文本与标签表。 如何完成它。
由于
Parminder
答案 0 :(得分:2)
(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())
}