c # Subsonic 2.1: заказ в каждом конкретном случае - PullRequest
0 голосов
/ 27 февраля 2010

Хотелось бы узнать, возможно ли заказать по конкретному идентификатору в дозвуке 2.1. То же, что и обычный SQL-запрос:

ORDER BY 
CASE  
WHEN ID = 5 then 1 
WHEN ID = 10 then 2 
WHEN ID = 1 then 3 
WHEN ID = then 4 
else 5 
END 

Я надеюсь, что кто-то может мне помочь, я хочу эту функцию для контента, специфичного для страны.

С уважением, Mark

1 Ответ

0 голосов
/ 02 марта 2010

Вы можете сделать следующее:

Dim q As SubSonic.SqlQuery =
    New SubSonic.Select().From(MyTable.Schema)
    .OrderAsc("case when ID = 5 then 1 when ID = 10 then 2 else 5 end")
Dim foo = q.ExecuteAsCollection(Of MyTableCollection)()

Я не думаю, что существует какой-либо собственный SubSonic, безопасный для типов синтаксис (т.е. Case (). When () ...), но это работает.

...