Я использую Fluent NHibernate для сопоставления довольно простой базы данных. У меня возникла проблема со следующей ситуацией. Скажем, мой класс выглядит такFluent NHibernate QueryOver: избегать orderby null reference table
ClassA
-------
...
string A_Name;
ClassB InnerObject; <- can be 'null' in the code,
because not every A record has a matching B record
ClassB
-------
...
string B_Name;
Я работаю с JQuery DataTables, где я показываю на запись/грести A_Name
и InnerObject.B_Name
. Все это работает для простого доступа к данным. Я могу проверить вручную, если InnerObject
- null
, и если да, просто покажите пустое строковое значение. Это работает и хорошо.
Проблема, с которой я столкнулась, заключается в том, как использовать правильный синтаксис для заказа в этом столбце. В зависимости от того, какой столбец пользователи хотят сортировать, у меня есть что-то вроде этого:
if (sort on innerObject's B_Name)
{
query.OrderBy(() => innerObjectAlias.B_Name).Asc();
}
Я довольно уверен, я мое отображение правильно установлен и что проблема здесь заключается в том, что мне нужно, чтобы быть в состоянии ' пропустить сортировку (или изменить), если innerObject
- null
.
Так что-то подобное было бы хорошо, но, очевидно, не работает (потому что я думаю, что свободный NHibernate никогда фактически присваивает значение справа псевдоним?):
if (sort on innerObject's B_Name AND innerObjectAlias != null)
{
query.OrderBy(() => innerObjectAlias.B_Name).Asc();
}
Любая помощь будет принята с благодарностью.