45 votes

Linq pour NHibernate et mode de chargement rapide

Existe-t-il un moyen de définir fetchmode sur avide pour plus d’un objet en utilisant linq pour nhibernate. Il semble y avoir une méthode expand qui ne me permet de définir qu'un seul objet. Cependant, je dois le définir pour plus d'un objet. Est-ce possible? Merci

105voto

Mike Hadlow Points 3779

Le nouveau fournisseur Linq le fait un peu différemment:

 var customers = session.Query<Customer>().Fetch(c => c.Orders).ToList();
 

Plus ici: http://mikehadlow.blogspot.com/2010/08/nhibernate-linq-eager-fetching.html

19voto

Paco Points 6156

juste l'utiliser plus d'une fois.

 IList<Entity> GetDataFromDatabase()
{
    var query = session.Linq<Entity>();
    query.Expand("Property1");
    query.Expand("Property2");
    return query.ToList();
}
 

8voto

Jeff Points 71

Autant que je sache, cela n’est pas équivalent: SetFetchMode hydrate une arborescence d’objets et la méthode Expand récupère un produit cartésien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X