Heim  >  Artikel  >  Backend-Entwicklung  >  nhibernate in C#

nhibernate in C#

WBOY
WBOYOriginal
2024-09-03 15:03:54426Durchsuche

NHibernate ist ein sehr beliebtes, voll funktionsfähiges Tool, das als Lösung für die objektrelationale Zuordnung in der .Net-Plattform von Microsoft verwendet werden kann. Es ist einer der Häfen von Hibernate. Mithilfe dieses Frameworks können wir das objektorientierte Domänenmodell auf die traditionelle relationale Datenbank abbilden. In diesem Artikel zu „nhibernate in C#“ werden wir uns anhand eines Beispiels ansehen, was NHibernate in C# ist, wie man darin arbeitet und das Projekt entwickelt, wie man anfängt und seine Implementierung sieht.

Was ist nhibernate in c#?

Das Hauptmerkmal von NHibernate ist die Zuordnung der Klassen in C# oder einer anderen Plattform wie .Net zu den Tabellen, die in relationalen Datenbanken wie MySQL vorhanden sind. Das bedeutet auch, dass NHibernate die Konvertierung des Datentyps von CLR in SQL vornimmt. NHibernate ist auch für das Abfragen und Abrufen der Daten verantwortlich, und es ist nicht erforderlich, die SQL-Befehle zu generieren, da NHibernate dies auch übernimmt. Somit muss sich der Entwickler nicht um die Objektkonvertierung kümmern. Die Anwendung bleibt außerdem für viele SQL-Datenbanken portierbar, ohne dass die Leistung beeinträchtigt wird.

Wie funktioniert nhibernate in c#?

Sie müssen NHibernate installieren und über einen Editor verfügen, in dem Sie programmieren. Darüber hinaus sollten Sie auch über eine Datenbank wie MySQL verfügen, die Sie in Ihrer Anwendung verwenden. Wir können Editoren wie Sublime Text, Visual Studio, Eclipse oder jeden anderen Editor verwenden, um ein NHibernate-Projekt zu erstellen. Der am häufigsten empfohlene Editor ist das Visual Studio. Der Bildschirm des Visual Studios sieht wie unten gezeigt aus –

Erste Schritte mit nhibernate in c#

Sie können die NHibernate-DLL mithilfe der folgenden Methoden herunterladen –

  • Holen Sie sich den Quellcode von Github – Sie können die ZIP-Datei des Quellcodes von NHibernate über diesen Link herunterladen – https://github.com/nhibernate/nhibernate-core. Die Seite sieht wie unten gezeigt aus und Sie müssen auf die Schaltfläche „Code“ klicken, um die Option zum Herunterladen der ZIP-Datei zu erhalten –

nhibernate in C#

  • Mithilfe des Paketmanagers NuGet – Wenn Sie über den NuGet-Paketmanager verfügen, können Sie zur Option „Softwarepakete verwalten“ gehen und dann auf „NHibernate installieren“ klicken. Das Fenster des Paketmanagers sieht wie unten gezeigt aus –

nhibernate in C#

  • Sie können die ZIP-Datei des NHibernate von SourceForge herunterladen. Auf der folgenden Website können Sie NHibernate von der SourceForge-Website herunterladen: https://sourceforge.net/projects/nhibernate/. Die Homepage der Website sieht wie unten gezeigt aus –

nhibernate in C#

Sobald Sie die ZIP-Datei von NHibernate erhalten haben, können Sie sie einfach in einen bestimmten Ordner im spezifischen Verzeichnis extrahieren. Jetzt können Sie ganz einfach die Referenzen der NHibernate-DLLs in Ihrem Projekt hinzufügen, indem Sie einfach auf dieses Verzeichnis verweisen.

Projekt mit nhibernate in c# entwickeln

Das Erstellen eines NHibernate-Projekts in C# ist ganz einfach. Sie müssen lediglich den Visual Studio-Code-Editor auf Ihrem System installiert haben. Beachten Sie, dass die Version des Visual Studios 2008 oder höher sein sollte. Die erforderlichen Schritte zum Erstellen eines Projekts mit NHibernate in C# sind unten dargestellt –

  • Erstellen Sie ein leeres Projekt im Visual Studio. Öffnen Sie dazu den Visual Studio-Editor, indem Sie ihn im Startsuchfeld von Windows suchen oder auf das Symbol klicken, dessen Verknüpfung Sie irgendwo erstellt haben. Klicken Sie auf die Option „Datei“, wählen Sie den geöffneten Ordner und stellen Sie sicher, dass Sie einen neuen Ordner für Ihr Projekt erstellt haben. Das visuelle Fenster sieht wie unten gezeigt aus –

nhibernate in C#

  • Apropos NHibernate-Projekt: Es sollte vier Hauptteile enthalten: –
  1. Um die Daten Ihrer Anwendung POCOs zuzuordnen, benötigen Sie eine Hibernate-Mapping-Datei
  2. Die Konfigurationsdatei des Ruhezustands, die hibernating.cfg ist
  3. POCOs, die einfache alte CLR-Objekte sind
  4. Seite von MVC in Apx oder Hauptklasse anzeigen.

nhibernate in C#-Beispielen

Zuerst erstellen wir eine Tabelle in unserer Datenbank, zum Beispiel Educba_writers. Unsere Tabelle in MySQL sieht wie unten gezeigt aus –

nhibernate in C#

Jetzt erstellen wir ein neues Webprojekt mit dem Namen EducbaWriterHiber und legen es im Verzeichnis http://localhost/EducbaWriterHiber ab. Anschließend fügen wir die Referenz von NHibernate.dll hinzu. Wenn Sie den Visual Studio-Editor verwenden, kopiert dieser automatisch alle Abhängigkeiten und Bibliotheken im Projekt. Anschließend erstellen Sie die XML-Datei für die Zuordnung wie unten gezeigt –

<?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>

Jetzt erstellen wir eine neue Konfigurationsdatei, hibernate.cfg.xml, oder registrieren den Eintrag im Web. config. Anschließend können Sie die POCO-Datei mit dem Namen Educbawriter wie unten gezeigt erstellen –

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" />
}
}

Jetzt erstellen wir die Hauptklasse der ASX-Seite, die als Singleton-Klasse mit der NHibernate-Sitzungsfabrikklasse verwendet werden kann –








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

Als Letztes wird die Sitzung geschlossen –

Sie können sehen, wie Ihre Ausgabe wie unten gezeigt konvertiert wird –

nhibernate in C#

Fazit

NHibernate in C# kann als Open-Source-Framework für ORM, also Object Relational Mapping, verwendet werden. Es wurde speziell für das .Net-Framework entwickelt und hilft bei der Erstellung persistenter Ebenen.

Das obige ist der detaillierte Inhalt vonnhibernate in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-ObjektvergleichNächster Artikel:C#-Objektvergleich