Je suis nouveau sur NHibernate et je n'arrive pas à comprendre pourquoi ces deux instructions génèrent des sql différents.NHibernate CreateCriteria et CreateQuery génèrent des sql différents?
le premier n'obtient que le ClientInformation
(avec information et client étant proxies) qui est ce que je veux.
return repository
.CreateQuery("from ClientInformation ci where ci.Information.IsMandatory = true and ci.Client.Id = :clientId")
.SetParameter("clientId", clientId)
.List<ClientInformation>();
La seconde génère tout. Toutes les données sont renvoyées pour les 3 entités, ce qui est pas ce que je veux
return repository.CreateCriteria()
.CreateAlias("Information", "inf")
.CreateAlias("Client", "cli")
.Add(Expression.Eq("cli.Id", clientId))
.Add(Expression.Eq("inf.IsMandatory", true))
.List<ClientInformation>();
Ce que je suis-je tort? merci
correspondances sont définies comme lazyload. et createCriteria renvoie un typeof (ClientInformation) –