NHibernate est un outil complet très populaire qui peut être utilisé comme solution de mappage objet-relationnel dans la plate-forme .Net de Microsoft. C'est l'un des ports d'Hibernate. Nous pouvons mapper le modèle de domaine, qui est orienté objet, à la base de données relationnelle, qui est traditionnelle, en utilisant ce cadre. Dans cet article sur NHibernate en C#, nous verrons ce qu'est NHibernate en C#, comment y travailler et développer le projet, comment démarrer et voir sa mise en œuvre, à l'aide d'un exemple.
La fonctionnalité principale de NHibernate est le mappage des classes en C# ou une autre plateforme telle que .Net aux tables présentes dans les bases de données relationnelles telles que MySQL. Cela signifie également que NHibernate effectue la conversion du type de données CLR en SQL. NHibernate est également responsable de l'interrogation et de la récupération des données, et il n'est pas nécessaire de générer les commandes SQL car NHibernate s'en charge également. Ainsi, le développeur n'a pas à se soucier de la conversion des objets. L'application reste également portable pour de nombreuses bases de données SQL sans pratiquement aucun impact sur les performances.
Vous devez installer NHibernate et disposer d'un éditeur dans lequel vous coderez. De plus, vous devez également disposer d'une base de données telle que MySQL que vous utiliserez dans votre application. Nous pouvons utiliser des éditeurs tels que Sublime Text, Visual Studio, Eclipse ou tout autre éditeur pour créer un projet NHibernate. L'éditeur le plus suggéré est le studio visuel. L'écran du studio visuel ressemble à celui indiqué ci-dessous –
Vous pouvez télécharger la DLL NHibernate en utilisant les méthodologies suivantes –
Une fois que vous avez obtenu le fichier zip de NHibernate, vous pouvez simplement l'extraire dans un dossier particulier du répertoire spécifique. Désormais, vous pouvez facilement ajouter les références des DLL NHibernate dans votre projet en vous référant simplement à ce répertoire.
Créer un projet NHibernate en C# est assez simple, tout ce dont vous avez besoin est l'éditeur de code Visual Studio installé sur votre système. Notez que la version de Visual Studio doit être 2008 ou supérieure. Les étapes à suivre pour créer un projet à l'aide de NHibernate en C# sont indiquées ci-dessous –
Tout d'abord, nous allons créer une table dans notre base de données, par exemple, Educba_writers. Notre table dans MySQL ressemble à celle ci-dessous –
Maintenant, nous allons créer un nouveau projet Web nommé EducbaWriterHiber et le placer dans le répertoire http://localhost/EducbaWriterHiber. Nous ajouterons ensuite la référence de NHibernate.dll. Si vous utilisez l'éditeur Visual Studio, il copiera automatiquement toutes les dépendances et bibliothèques du projet. Ensuite, vous créerez le fichier XML pour le mappage comme indiqué ci-dessous –
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true" assembly="EducbaWriterHiber" namespace="EducbaWriterHiber.Models"> <class name="Educba_writers" table="Educba_writers" dynamic-update="true" xmlns="urn:nhibernate-mapping-2.2"> <cache usage="read-write"/> <id name="Id" column="writer_id" type="int"> <generator class="native" /> </id> <property name="f_name" /> <property name="l_name" /> <property name="email_id" /> <property name="mobile_number" /> <property name="join_date" /> <property name="domain_id" /> <property name="pay_amount" /> <property name="guide_id" /> <property name="department_id" /> </class> </hibernate-mapping>
Maintenant, nous allons créer un nouveau fichier de configuration, hibernate.cfg.xml, ou enregistrer l'entrée dans Web. configuration. Par la suite, vous pouvez créer le fichier POCO nommé Educbawriter comme indiqué ci-dessous –
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace EMPNHibernate.Models { public class Employee { public virtual int writer_id { get; set; } public virtual string f_name { get; set; } public virtual string l_name { get; set; } public virtual string email_id { get; set; } public virtual string mobile_number { get; set; } public virtual string join_date { get; set; } public virtual string domain_id { get; set; } public virtual string pay_amount { get; set; } public virtual string guide_id" /> public virtual string department_id" /> } }
Maintenant, nous allons créer la classe principale de la page ASX qui peut être utilisée comme classe singleton contenant la classe d'usine de session NHibernate –
Create an entry in Web.config using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace EMPNHibernate.Models { public class Employee { public virtual int writer_id { get; set; } public virtual string f_name { get; set; } public virtual string l_name { get; set; } public virtual string email_id { get; set; } public virtual string mobile_number { get; set; } public virtual string join_date { get; set; } public virtual string domain_id { get; set; } public virtual string pay_amount { get; set; } public virtual string guide_id" /> public virtual string department_id" /> } } using System.Web; using NHibernate; using NHibernate.Cfg; namespace EducbaWriterHiber { public class EducbaWriterHiberSession { public static ISession OpenSession() { var sampleConfig = new Configuration(); sampleConfig.Configure(); ISessionFactory sampleSessFactory = sampleConfig.BuildSessionFactory(); return sampleSessFactory.OpenSession(); } } } public virtual string department_id" />
La dernière chose sera de clôturer la séance –
Vous pouvez voir votre sortie en cours de conversion comme indiqué ci-dessous –
NHibernate en C# peut être utilisé comme un framework open source et gratuit pour ORM qui est le mappage relationnel objet. Il est spécialement conçu pour le framework .Net et aide à créer des couches persistantes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!