Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

Présentation

Recherche

W3C

  • Flux RSS des articles

NHibernate

Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander

Codus - générateur de code pour NHibernate

Codus est un petit générateur de code qui permet de générer les entités métiers,les classes de couches accès aux données(DAO) ainsi que les fichiers de mapping,etc.,
http://www.adapdev.com/codus/ 

SharpToolBox.com
http://sharptoolbox.com/categories/object-relational-mappers

Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander

Quelques liens et astuces NHibernate

je prévois d'étudier en profondeur et publier une série d'articles sur NHibernate, 
Enterprise Library suivra probablement


quelques liens
http://www.hibernate.org/365.html
http://www.codegod.de/WebAppCodeGod/TheArticles.aspx

NHibernate Quick Start Guide
http://www.hibernate.org/362.html 

Référence
http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/pdf/nhibernate_reference 

Articles sur Codeproject
http://www.codeproject.com/info/search.asp

Download NHibernate sur sourceforge.net
http://sourceforge.net/project/showfiles.php?group_id=73818&package_id=73969

Astuce : avoir l'intellisense dans Visual Studio 2005 pour la saisie des fichiers de mapping
- télécharger et installer NHibernate
- décompresser l'archive contenant le source de NHibernate (C:/Program Files/NHibernate/src)
- copier / coller les schémas Xml  nhibernate-configuration.xsd, nhibernate-mapping.xsd, nhibernate-generic.xsd 
vers le répertoire des schémas de Visual Studio 2005 (par défaut C:/Program Files/Microsoft Visual Studio 8/Xml/Schemas)
- il suffira désormais de sélectionner le schéma désiré dans les propriétés du fichier Xml

Note vous pouvez également ajouter une référence vers le fichier (C:/Program Files/Microsoft Visual Studio 8xmlSchemas/DotNetConfig.xsd) si besoin dans la foulée(pour le fichier de configuration)

NHibernate-intellisense.JPG

Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander
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
Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Par Romagny13
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus