我快要拔掉剩下的头发了,因为我不知道如何在 SubSonic 2.2 中执行以下 T-SQL 查询:
SELECT SalesRep, Location, InvoiceNumber, PONumber, POReceivedOn, SurgeryDate, Surgeon
FROM dbo.vSalesRepCommissionGrouped AS vsrcg
WHERE UserID IN ( 5, 6, 20 )
AND ( ( SurgeryDate >= '2012-01-01'
AND SurgeryDate <= '2012-01-31'
)
OR ( SurgeryDate >= '2011-12-01'
AND SurgeryDate <= '2011-12-31'
AND POReceivedOn >= '2012-01-01'
)
)
ORDER BY SurgeryDate ASC
我已经以至少 10 种不同的方式尝试了以下 SubSonic Select,但我无法让它产生相同的结果。
new Select("SalesRep, Location, InvoiceNumber, PONumber, POReceivedOn, SurgeryDate, Surgeon")
.From(VSalesRepCommissionGrouped.Schema)
.WhereExpression("UserID").In(new[] { 5, 6, 20 })
.AndExpression("SurgeryDate").IsGreaterThanOrEqualTo(BeginDate).And("SurgeryDate").IsLessThanOrEqualTo(EndDate)
.Or("SurgeryDate").IsGreaterThanOrEqualTo(BeginDate.AddMonths(-1)).And("SurgeryDate").IsLessThanOrEqualTo(
EndDate.AddMonths(-1)).And("POReceivedOn").IsGreaterThanOrEqualTo(BeginDate).CloseExpression()
.OrderAsc("SurgeryDate");
有人可以指出我正确的方向吗?
谢谢!- 安德鲁