我想使用BQL从SOLine(连接到BCSyncDetails表/DAC)获取不同的orderNbr值的记录集。我已经尝试使用PXSelectJoinGroupBy方法:
var solines = PXSelectJoinGroupBy<SOLine,
InnerJoin<BCSyncDetail,
On<SOLine.noteID, Equal<BCSyncDetail.localID>>>,
Aggregate<GroupBy<SOLine.orderNbr, Max<SOLine.orderNbr>>>>.Select(Base);
本质上是这个SQL查询:
SELECT
DISTINCT OrderNbr
FROM SOLine
INNER JOIN BCSyncDetail
ON SOLine.NoteID = BCSyncDetail.LocalID
AND SOLine.CompanyID = BCSyncDetail.CompanyID
ORDER
BY OrderNbr
我写错了吗?找不到一个好的例子…
我的建议是重写您的查询如下
var solines = PXSelectJoinGroupBy
<BCSyncDetail,On><SOLine。noteID,> () .ToList ();
以便您可以在本地对象上使用LINQ查询。更快,更容易,更强大,一旦你有它在枚举。上面的RowCast命令是关键,使我的工作更轻松。
var distinctSOLines= solines.Select(x=>x. ordernbr).Distinct();