Maison  >  Article  >  développement back-end  >  mettre en veille prolongée en C#

mettre en veille prolongée en C#

WBOY
WBOYoriginal
2024-09-03 15:03:54436parcourir

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.

Qu'est-ce que nhibernate en c# ?

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.

Comment travailler avec nhibernate en c# ?

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 –

Démarrer avec Nhibernate en C#

Vous pouvez télécharger la DLL NHibernate en utilisant les méthodologies suivantes –

  • Récupérez le code source depuis Github – Vous pouvez télécharger le fichier zip du code source de NHibernate à partir de ce lien – https://github.com/nhibernate/nhibernate-core. La page ressemblera à celle ci-dessous et vous devrez cliquer sur le bouton Code pour avoir la possibilité de télécharger le fichier zip –

mettre en veille prolongée en C#

  • En utilisant le gestionnaire de packages NuGet – Si vous disposez du gestionnaire de packages NuGet, vous pouvez accéder à l'option des packages logiciels de gestion, puis cliquer sur installer NHibernate. La fenêtre du gestionnaire de packages ressemblera à celle ci-dessous –

mettre en veille prolongée en C#

  • Vous pouvez télécharger le fichier zip de NHibernate depuis SourceForge. Vous pouvez consulter le site Web suivant pour télécharger NHibernate à partir du site SourceForge – https://sourceforge.net/projects/nhibernate/. La page d'accueil du site ressemble à celle ci-dessous –

mettre en veille prolongée en C#

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.

Développer un projet en utilisant nhibernate en c#

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 –

  • Créez un projet vierge dans le studio visuel. Pour cela, ouvrez l'éditeur Visual Studio en le recherchant dans la zone de recherche de démarrage de Windows ou en cliquant sur l'icône dont vous avez créé le raccourci n'importe où. Cliquez sur l'option Fichier, choisissez le dossier ouvert et assurez-vous que vous avez créé un nouveau dossier pour votre projet. La fenêtre visuelle ressemblera à celle indiquée ci-dessous –

mettre en veille prolongée en C#

  • En parlant du projet NHibernate, il devrait contenir 4 parties principales qui sont –
  1. Pour mapper les données de votre application aux POCO, vous aurez besoin d'un fichier de mappage hibernate
  2. Le fichier de configuration d'hibernate qui est hibernate.cfg
  3. POCO qui sont de simples vieux objets CLR
  4. Afficher la page de MVC en apx ou en classe principale.

nhiberner dans des exemples c#

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 –

mettre en veille prolongée en C#

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();
}
}
}

La dernière chose sera de clôturer la séance –

Vous pouvez voir votre sortie en cours de conversion comme indiqué ci-dessous –

mettre en veille prolongée en C#

Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comparaison d'objets C#Article suivant:Comparaison d'objets C#