为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 EFCore Linq 获取记录内的子嵌套列表

如何使用 EFCore Linq 获取记录内的子嵌套列表

C#
白猪掌柜的 2023-09-24 10:38:44
我有 3 个表 1.Books 2.PO 3.Books_PO。我想使用 books_po 引用表提取单个 PO 记录,但我想要该记录中的书籍列表。 Books                    PO                 books_POID   Name             ID    ponumber       poId    bookId1    book1            3     1234           3       22    book2            5     2323           3       33    book3当我需要 2 本书的列表时,我当前的查询仅返回一本书。如果我回来,.ToList()我会收到 2 条 PO 记录,但仍然是一本书。我很想知道我想做的事情是否可能?ctx.books_po.Where(a => a.po.Id == 3).Include(b => b.Books).FirstorDefault();
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

我认为您正在寻找 GroupBy

var singleRecord = ctx.books_po
.Where(a => a.po.Id == 3)
.Include(b => b.Books)
.GroupBy(a => a.po, a => a.Books).FirstOrDefault();

您将获得一条包含两个字段的记录 singleRecord.Key 和 singleRecord.ToList() 将是该 po 下的所有 bookId(== 3)


查看完整回答
反对 回复 2023-09-24
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

为什么不使用 Books dbContexts 而不是 book_po ?

ctx.Books.Where(x => x.books_po.poId == 3).ToList();


查看完整回答
反对 回复 2023-09-24
  • 2 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信