linq 根据值从包含列表中获取记录

monwx1rj  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(96)

我有一个返回客户的存储库。但是一个客户可以有多个合同。我如何通过合同号获得客户?
我有这个:

return await context.Customers
    .Include(x => x.Contracts)
    .FirstOrDefaultAsync(x => x.Contracts.FirstOrDefault().ContractNumber == contractNumber);

有了这个,它返回的路线总是表的第一个记录...

vltsax25

vltsax251#

  • “如何通过合同号获取客户。"*

您可以更改查询以返回第一个客户,其中他们的合同Any具有匹配的数字:

return await context.Customers
    .Include(cust => cust.Contracts)
    .FirstOrDefaultAsync(cust => 
        cust.Contracts.Any(contract => contract.ContractNumber == contractNumber));

相关问题