我是 NHibernate 的新手,无法弄清楚为什么这两个语句会生成不同的 sql。
第一个只得到ClientInformation
我想要的(信息和客户端是代理)。
return repository
.CreateQuery("from ClientInformation ci where ci.Information.IsMandatory = true and ci.Client.Id = :clientId")
.SetParameter("clientId", clientId)
.List<ClientInformation>();
第二个生成一切。为 3 个实体返回所有数据,这不是我想要的
return repository.CreateCriteria()
.CreateAlias("Information", "inf")
.CreateAlias("Client", "cli")
.Add(Expression.Eq("cli.Id", clientId))
.Add(Expression.Eq("inf.IsMandatory", true))
.List<ClientInformation>();
我在做什么错?谢谢