Linq 在另一个列表中选择列表
写第二个列表的正确语法是什么?bookid和其他字段无法识别Linq 在另一个列表中选择列表,linq,linq-to-sql,Linq,Linq To Sql,写第二个列表的正确语法是什么?bookid和其他字段无法识别 var bookssublist = from bookdetails in bookslist join bookcategories in _context.BookCategories on bookdetails.BookId equals bookcategories.BookId
var bookssublist = from bookdetails in bookslist
join bookcategories in _context.BookCategories
on bookdetails.BookId equals bookcategories.BookId
where bookcategories.CategoryId==CategoryId
select new BookBasicInfo {
count = bookcount,
BookInfo = new List<BookInfo>()
{
BookId = bookdetails.BookId,
BookTitle = bookdetails.Title,
Images = bookdetails.ThumbnailImagePath,
PublishDate = bookdetails.PublishedDate,
AuthorList = bookdetails.BookAuthors.Select(q => q.Author.Author1).ToList(),
CategoryList =bookdetails.BookCategories.Select(q=>q.Category.CategoryName).ToList(),
}
};
var booksublist=来自bookslist中的bookdetails
在_context.bookcategories中联接bookcategories
在bookdetails.BookId上等于bookcategories.BookId
其中bookcategories.CategoryId==CategoryId
选择new BookBasicInfo{
计数=账面计数,
BookInfo=新列表()
{
BookId=bookdetails.BookId,
BookTitle=bookdetails.Title,
Images=bookdetails.ThumbnailImagePath,
PublishDate=bookdetails.PublishDate,
AuthorList=bookdetails.BookAuthors.Select(q=>q.Author.Author1.ToList(),
CategoryList=bookdetails.BookCategories.Select(q=>q.Category.CategoryName).ToList(),
}
};
您以错误的方式使用了集合初始值设定项。实际上,您忘记将类型为BookInfo
的对象传递给初始值设定项
BookInfo = new List<BookInfo>()
{
new BookInfo()
{
BookId = bookdetails.BookId,
BookTitle = bookdetails.Title,
Images = bookdetails.ThumbnailImagePath,
PublishDate = bookdetails.PublishedDate,
AuthorList = bookdetails.BookAuthors.Select(q => q.Author.Author1).ToList(),
CategoryList =bookdetails.BookCategories.Select(q=>q.Category.CategoryName).ToList()
}
}
BookInfo=新列表()
{
newbookinfo()
{
BookId=bookdetails.BookId,
BookTitle=bookdetails.Title,
Images=bookdetails.ThumbnailImagePath,
PublishDate=bookdetails.PublishDate,
AuthorList=bookdetails.BookAuthors.Select(q=>q.Author.Author1.ToList(),
CategoryList=bookdetails.BookCategories.Select(q=>q.Category.CategoryName).ToList()
}
}
hmmm也许你应该朝GroupBy
的方向看。。