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该如何实现这种情况?求助

针对您提出的问题,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 可以直接查看查询结果。

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