Могу ли я получить доступ к значению дискриминатора в сопоставлении TPH с помощью Entity Framework 4 CTP5

На самом деле вы можете заставить его работать даже с ORDER BY.

Просто нужно немного обмануть в инструкции order by - мы используем оператор case и заменяем значение заголовка некоторым другим значением, которое гарантировано сортировать сначала в списке (очевидно, это зависит от типа поля и от того, сортируете ли вы ASC или DESC)

Допустим, у вас есть три поля, имя (varchar), is_active (bool), date_something_happens ( дата), и вы хотите отсортировать второй второй по убыванию:

select 
        'name'
      , 'is_active' as is_active
      , date_something_happens as 'date_something_happens'

 union all

 select name, is_active, date_something_happens

 from
    my_table

 order by
     (case is_active when 'is_active' then 0 else is_active end) desc
   , (case date when 'date' then '9999-12-30' else date end) desc
13
задан marc_s 24 December 2010 в 12:13
поделиться