csdnJFZ 2019-04-29 15:04 采纳率: 50%
浏览 378

sql子查询返回的值不止一个的时候,用Exists实现了,但EF技术该如何实现呢,求指教

select * from T_Expensemanagement_OtherCosts_BreakDown 
    where exists (select * from T_Expensemanagement_OtherCosts 
    where ID=T_Expensemanagement_OtherCostsID and EngineeringInfoID='aa3d010b-85da-4aa9-94db-59a6522cec9c')

图片说明

请问EF该如何实现这种情况?求助

  • 写回答

1条回答 默认 最新

  • 树莓大王 2023-03-15 07:34
    关注

    针对您提出的问题,EF可以使用以下代码实现类似于SQL子查询返回值不止一个的情况:

    var result = context.T_Expensemanagement_OtherCosts_BreakDown
        .Where(e => context.T_Expensemanagement_OtherCosts
            .Any(o => o.ID == e.T_Expensemanagement_OtherCostsID && o.EngineeringInfoID == "aa3d010b-85da-4aa9-94db-59a6522cec9c"))
        .ToList();
    

    其中,使用了 Any() 方法来判断子查询是否有存在的记录,实现了类似于 exists 的效果。通过 ToList() 转化为 List 可以直接查看查询结果。

    希望可以帮助您解决问题。

    评论

报告相同问题?