У меня есть две сущности: Client и AccountPlan, которые имеют отношение от 1 до 0..1. Я хотел бы получить своих клиентов, заказанных сначала клиентами, у которых есть AccountPlan, а затем клиентами, у которых их нет. Когда я пытаюсь выполнить следующий запрос Linq to Nhibernate:
return NHibernateSession.Current.Query<Client>()
.Where(x => x.SalesRepId == id)
.OrderBy(x => x.AccountPlan == null);
Я получаю исключение QuerySyntaxException со следующим сообщением:
{"Исключение типа 'Antlr.Runtime.NoViableAltException' было сгенерировано.
[.OrderBy (.гд (NHibernate.Linq.NhQueryable`1 [FIS.AccountManagement.Core.Domain.Client],
Цитировать ((x,) => (Равен (x.SalesRepId, p1))),), Цитировать ((x,) =>
(Равен (x.AccountPlan,))),)] "}
Вот соотношение между двумя объектами, если это важно:
public ClientMap()
{
HasOne(x => x.AccountPlan).PropertyRef(r => r.Client);
}
public AccountPlanMap()
{
DynamicInsert();
References(x => x.Client, "EntityID");
}
Кто-нибудь знает запрос от одного из множества API-интерфейсов NHibernate, который выполнит то, что я хочу? Заранее спасибо.