gpt4 book ai didi

c# - Entity Framework 在嵌套实体上使用 Where 子句

转载 作者:行者123 更新时间:2023-11-30 12:55:13 24 4
gpt4 key购买 nike

我正在尝试使用以下方法在检索时过滤子对象

var loanExtractExample = be.LoanCategoryMonitors
.Where(lcm => lcm.LoanNumber == 5000435)
.Include(l => l.Loan)
.Include(le => le.LoanExtracts)
.Select(le => le.LoanExtracts.Borrowers.Where(b => b.BorrowerNum == 1))
.ToList();

但是当我检查实体集合时,有 2 个借款人。一个 BorrowerNum 为 1,一个 BorrowerNum = 3。

为了能够将借款人减少到正确的借款人,我缺少什么?

最佳答案

我相信借款人的选择会返回贷款类别监视器的借款人,其中监视器有 ID 为 1 的借款人。我相信您正在寻找的是:

var matchingBorrowers = be.LoanCategoryMonitors
.Where(lcm => lcm.LoanNumber == 5000435)
.SelectMany(le => le.LoanExtracts.Borrowers) // Borrowers for loan extracts against loan 5000435...
.Where(b => b.BorrowerNum == 1)) // Of those borrowers, those with BorrowerNum = 1.
.ToList();

不需要包含,因为您不是在检索贷款类别监视器,但您可能希望为返回的借款人的子引用添加任何 .Include() 语句。 (在 .SelectMany() 之后)

关于c# - Entity Framework 在嵌套实体上使用 Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50732397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com