私はNHibernateを初めて使用し、これら2つのステートメントが異なるSQLを生成する理由を理解できません。
最初のものClientInformation
は、私が欲しいものである(情報とクライアントがプロキシである)だけを取得します。
return repository
.CreateQuery("from ClientInformation ci where ci.Information.IsMandatory = true and ci.Client.Id = :clientId")
.SetParameter("clientId", clientId)
.List<ClientInformation>();
2 番目のものはすべてを生成します。3 つのエンティティのすべてのデータが返されますが、これは私が望むものではありません
return repository.CreateCriteria()
.CreateAlias("Information", "inf")
.CreateAlias("Client", "cli")
.Add(Expression.Eq("cli.Id", clientId))
.Add(Expression.Eq("inf.IsMandatory", true))
.List<ClientInformation>();
私は何を間違っていますか?ありがとう