[英]How to get a child nested list within a record using EFCore Linq
I have 3 Tables 1.Books 2.PO 3.Books_PO.我有 3 个表 1.Books 2.PO 3.Books_PO。 I would like to pull a single PO record using books_po ref table but I want a list of books within that record.我想使用 books_po ref 表提取单个 PO 记录,但我想要该记录中的书籍列表。
Books PO books_PO
ID Name ID ponumber poId bookId
1 book1 3 1234 3 2
2 book2 5 2323 3 3
3 book3
My current query only brings back one book when I need a list of 2 books.当我需要 2 本书的列表时,我当前的查询仅带回一本书。 If I return .ToList()
I get 2 records for the PO but still one book.如果我返回.ToList()
我会得到 2 条 PO 记录,但仍然是一本书。 I am curious to know what I'm trying to do is possible?我很想知道我正在尝试做的是可能的吗?
ctx.books_po.Where(a => a.po.Id == 3).Include(b => b.Books).FirstorDefault();
I think you are looking for GroupBy我认为您正在寻找 GroupBy
var singleRecord = ctx.books_po
.Where(a => a.po.Id == 3)
.Include(b => b.Books)
.GroupBy(a => a.po, a => a.Books).FirstOrDefault();
You will get a single record with two fields singleRecord.Key and singleRecord.ToList() will be all the bookIds under that po (== 3)您将获得一个包含两个字段的单个记录 singleRecord.Key 和 singleRecord.ToList() 将是该 po (== 3) 下的所有 bookIds
为什么不使用 Books dbContexts 而不是 book_po ?
ctx.Books.Where(x => x.books_po.poId == 3).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.