J'ai récemment mis à niveau mon fournisseur Linq vers le nouveau AST. (NH3 sur NuGet)nhibernate linq: projection vers DTO et colonnes
Avec le fournisseur précédent j'utilisais linq pour faire "des projections en ligne à mon DTO" par exemple.
from o in Session.Query<MyObject>()
select new MyObjectDTO {
Name = o.Name,
SubName = o.OtherObject.Name,
Sub2NAme = o.OtherObject2.Name
}
et cela générerait une déclaration
SELECT o.Name, sn1.Name, sn2.Name FROM .....
JOIN.... JOIN....
.
Une fois que j'ai mis à jour mon fournisseur, j'ai trouvé beaucoup d'instructions de sélection tirées. (Mon objet projeté est plus complexe que ci-dessus). Je suis venu à travers Fetch/FetchMany, ce qui pourrait aider avec le nombre des requêtes, mais autant que je peux dire que cela signifie que l'objet complet reviendra pour chaque champ aplati dont j'ai besoin.
Y a-t-il un moyen de sélectionner le plus petit nombre de colonnes possible pour la projection, plutôt que de charger le graphique d'objet complet dans le projet?
Merci, Chris