我有两个实体:Client和AccountPlan,它们具有1到0..1的关系。我想取回我的客户,首先由拥有AccountPlan的客户订购,然后由不具有客户的客户订购。当我尝试下面的LINQ to NHibernate的查询:构建NHibernate通过布尔条件查询订单
return NHibernateSession.Current.Query<Client>()
.Where(x => x.SalesRepId == id)
.OrderBy(x => x.AccountPlan == null);
我出现以下消息QuerySyntaxException:
{“异常类型的 'Antlr.Runtime.NoViableAltException' 被抛出 [。 OrderBy(.Where(NHibernate.Linq.NhQueryable`1 [FIS.AccountManagement.Core.Domain.Client], Quote((x,)=>(Equal(x.SalesRepId,p1))),)Quote(( x)=> (Equal(x.AccountPlan,))),)]“}
这里的两个实体之间的映射关系,如果这是很重要的:
public ClientMap()
{
HasOne(x => x.AccountPlan).PropertyRef(r => r.Client);
}
public AccountPlanMap()
{
DynamicInsert();
References(x => x.Client, "EntityID");
}
有谁从NHibernate的无数的一个API,将完成我想要知道的查询?提前致谢。在一个往返
巧妙。谢谢! – Vish