如何将此sql查询转换为Linq。
select sum(OutstandingAmt)from IvfReceiptDetails where IvfReceiptId IN(select IvfReceiptId from IvfReceipts where PatientId = 'SI-49650')
答案 0 :(得分:0)
试试这个,首先根据您在where条件中使用的内部查询获取<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input />
中的所有IvfReceiptId
,然后检查array
。如果contains
不同,请更改其名称。
_context
答案 1 :(得分:0)
我认为使用查询理解语法而不是lambda语法来翻译SQL更容易。
一般规则:
IN
翻译为Contains
DISTINCT
或SUM
等SQL函数转换为整个查询的函数调用。以下是代码:
var IvfReceiptIds = from IvfReceipt in IvfReceipts
where IvfReceipt.PatientId = "SI-49650"
select IvfReceipt.IvfReceiptId;
var OutstandingAmtSum = (from IvfReceiptDetail in IvfReceiptDetails
where IvfReciptIds.Contains(IvfReceiptDetail.IvfReceiptId)
select IvfReceiptDetail.OutstandingAmt).Sum();