Overblog Tous les blogs Top blogs Économie, Finance & Droit Tous les blogs Économie, Finance & Droit
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions

Publicité

NHibernate - Expressions

NHibernate - Expressions
NHibernate n’est pas parfait, je pense qu’il rajoute de la complexité inutilement
Notamment au niveau de  la gestion des connexions, trop complexe pour ce qu’elle est,
d’un autre côté NHibernate dispose quand même de pas mal de qualités(une fois son utilisation mieux maitrisée), par exemple le mapping est fait par fichier Xml
Nhibernate dispose également d’un système de requêtage qui ressemble un peu à ce que l’on peut faire avec Linq
On peut ajouter des critères de sélection « en cascade » , des tris …
Ex :
Je sélectionne tous les contacts de la table contact pour un ContactCategoryID(clé étrangère), et je trie sur ContactName, puis je fais appel à la méthode List() (oui cela ressemble vraiment à Linq ici) ce qui me retourne une liste
 private void button2_Click(object sender, EventArgs e)
        {
            ContactsHib.ContactDAO c = new ContactsHib.ContactDAO();
 
            System.Collections.IList List = c.MonCritere(Convert.ToInt32(comboBox1.Text));
 
            dataGridView1.DataSource = List;
        }
 
Dans ContactDAO je me crée une petite fonction
 public IList MonCritere(int ContactCategoryID)
        {
            ISession session = factory.OpenSession();
            IList List = session.CreateCriteria(typeof(ContactEntity))
           .Add(NHibernate.Expression.Expression.Eq("ContactCategoryID", ContactCategoryID))
           .AddOrder(Order.Desc("ContactName"))
           .List();
          
 
            return List;
        }
 
C’est un système de requetage interessant qui ressemble un peu à ce que  j’aimerais mettre en place dans un projet personnel
Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article