如何使用的LinqDataSource排序依据ISNULL类型的决策?
-
22-09-2019 - |
题
我有一个SQL存储过程,其使用由最新的回复日期的顺序ISNULL通过子句订单项目,或者如果为空,由过帐日期:
实施例: ORDER BY ISNULL(rtb.LatestReplyDate,CB_TOPIC_DATE_POSTED)DESC
我试图得到这工作的LinqDataSource的排序依据子句中,无济于事尚未: 例:
我知道ISNULL是无效的,但我还没有搞清楚如果有什么什么工作。我试过?运营商也是如此。任何想法?
解决方案
- 附录
OrderBy(p => p.<YourCompareVariant> == null ? p.<IfNull> : p.<IfNotNull>);
在你的情况:
OrderBy(p => p.LatestReplyDate == null ? p.LatestReplyDate : p.TopicDatePosted);
其他提示
@Xencor,这里是什么工作:
<asp:LinqDataSource OrderBy="(CB_DATE_LATEST_REPLY != null ? CB_DATE_LATEST_REPLY : CB_TOPIC_DATE_POSTED) desc" Select="new (CB_TOPIC_ID, CB_TOPIC_CAT_ID, CB_TOPIC_TITLE, CB_TOPIC_DATE_POSTED, CB_TOPIC_REPLY_COUNT, CB_DATE_LATEST_REPLY, LU_CB_CATEGORy, VIEW_ALL_USER)" TableName="CB_TOPICs" > </asp:LinqDataSource>
这是显而易见的,我不知道我是如何设法错过。这就是生活。感谢您指出我在正确的方向。
不隶属于 StackOverflow