Domanda

Ho una stored procedure di SQL che utilizza IsNull nella clausola ORDER BY per ordinare gli elementi per l'ultima data risposta, o se questo è nulla, dalla data di registrazione:

Esempio: ORDER BY IsNull (rtb.LatestReplyDate, CB_TOPIC_DATE_POSTED) DESC

Sto cercando di convincere quello per funzionare nella clausola orderby di un LinqDataSource, senza alcun risultato ancora: Esempio:             

Lo so isnull non è valido lì, ma devo ancora capire che cosa avrebbe funzionato, se non altro. Ho provato il ?? operatore pure. Tutte le idee?

È stato utile?

Soluzione

Check this linq..err ... link

- Addendum

OrderBy(p => p.<YourCompareVariant> == null ? p.<IfNull> :  p.<IfNotNull>); 

Nel tuo caso:

OrderBy(p => p.LatestReplyDate == null ? p.LatestReplyDate : p.TopicDatePosted); 

Altri suggerimenti

@Xencor, ecco cosa ha funzionato:

<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> 

Il che è ovvio, non so come abbia fatto a perdere questa. Così è la vita. Grazie per avermi nella giusta direzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top