Rumah  >  Artikel  >  pembangunan bahagian belakang  >  nhibernate dalam C#

nhibernate dalam C#

WBOY
WBOYasal
2024-09-03 15:03:54423semak imbas

NHibernate ialah alat berciri lengkap yang sangat popular yang boleh digunakan sebagai penyelesaian untuk pemetaan hubungan objek dalam platform .Net Microsoft. Ia adalah salah satu pelabuhan Hibernate. Kita boleh memetakan model domain, yang berorientasikan objek, kepada pangkalan data hubungan, yang tradisional, dengan menggunakan rangka kerja ini. Dalam artikel nhibernate dalam C# ini, kita akan melihat apa itu NHibernate dalam C#, cara bekerja dan membangunkan projek di dalamnya, cara untuk memulakan dan melihat pelaksanaannya, bersama-sama dengan bantuan contoh.

Apakah nhibernate dalam c#?

Ciri utama NHibernate ialah pemetaan kelas dalam C# atau platform lain seperti .Net kepada jadual yang terdapat dalam pangkalan data hubungan seperti MySQL. Ini juga bermakna bahawa NHibernate sedang membuat penukaran jenis data CLR kepada SQL. NHibernate juga bertanggungjawab untuk membuat pertanyaan dan mendapatkan semula data, dan tidak perlu menjana arahan SQL kerana NHibernate juga mengendalikannya. Oleh itu, pembangun tidak perlu risau tentang penukaran objek. Aplikasi ini juga kekal mudah alih untuk kebanyakan pangkalan data SQL dengan hampir tiada overhed kepada prestasi.

Bagaimana untuk bekerja nhibernate dalam c#?

Anda perlu memasang NHibernate dan mempunyai editor tempat anda akan mengekod. Selanjutnya, anda juga harus mempunyai pangkalan data seperti MySQL yang akan anda gunakan dalam aplikasi anda. Kita boleh menggunakan editor seperti teks Sublime, studio visual, eclipse atau mana-mana editor lain untuk mencipta projek NHibernate. Editor yang paling dicadangkan ialah studio visual. Skrin studio visual kelihatan seperti yang ditunjukkan di bawah –

Bermula nhibernate dalam c#

Anda boleh memuat turun NHibernate DLL dengan menggunakan metodologi berikut –

  • Dapatkan kod sumber daripada Github – Anda boleh memuat turun fail zip kod sumber NHibernate daripada pautan ini – https://github.com/nhibernate/nhibernate-core. Halaman akan kelihatan seperti yang ditunjukkan di bawah, dan anda perlu mengklik pada butang Kod untuk mendapatkan pilihan memuat turun fail zip –

nhibernate dalam C#

  • Dengan menggunakan pengurus pakej NuGet – Jika anda mempunyai pengurus pakej NuGet maka anda boleh pergi ke pilihan pakej perisian pengurusan dan kemudian klik pada pasang NHibernate. Tetingkap pengurus pakej akan kelihatan seperti yang ditunjukkan di bawah –

nhibernate dalam C#

  • Anda boleh memuat turun fail zip NHibernate daripada SourceForge. Anda boleh menyemak tapak web berikut untuk memuat turun NHibernate dari laman SourceForge – https://sourceforge.net/projects/nhibernate/. Halaman utama tapak kelihatan seperti yang ditunjukkan di bawah –

nhibernate dalam C#

Setelah anda mendapat fail zip NHibernate, maka anda boleh mengekstraknya dalam folder tertentu dalam direktori tertentu. Kini, anda boleh menambah rujukan DLL NHibernate dengan mudah dalam projek anda dengan hanya merujuk kepada direktori itu.

Membangunkan Projek menggunakan nhibernate dalam c#

Membuat projek NHibernate dalam C# agak mudah, anda hanya perlu mempunyai editor kod studio visual yang dipasang pada sistem anda. Ambil perhatian bahawa versi studio visual hendaklah 2008 atau lebih tinggi. Langkah-langkah yang perlu diikuti untuk membuat projek menggunakan NHibernate dalam C# adalah seperti yang ditunjukkan di bawah -

  • Buat projek kosong dalam studio visual. Untuk ini, buka editor studio visual dengan mencarinya dalam kotak carian permulaan tingkap atau mengklik pada ikon yang pintasannya telah anda buat di mana-mana sahaja. Klik pada pilihan Fail, pilih folder terbuka, dan pastikan anda telah mencipta folder baharu untuk projek anda. Tetingkap visual akan kelihatan seperti yang ditunjukkan di bawah –

nhibernate dalam C#

  • Bercakap tentang projek NHibernate, perlu ada 4 bahagian utama di dalamnya iaitu –
  1. Untuk memetakan data aplikasi anda kepada POCO, anda memerlukan fail pemetaan hibernate
  2. Fail konfigurasi hibernate yang sedang hibernasi.cfg
  3. POCO yang merupakan objek CLR lama biasa
  4. Lihat halaman MVC dalam apx atau kelas utama.

nhibernate dalam contoh c#

Pertama sekali, kami akan membuat jadual dalam pangkalan data kami, contohnya, Educba_writers. Jadual kami dalam MySQL kelihatan seperti yang ditunjukkan di bawah -

nhibernate dalam C#

Sekarang, kami akan mencipta projek web baharu bernama EducbaWriterHiber dan akan menetapkannya dalam direktori http://localhost/EducbaWriterHiber. Kami kemudiannya akan menambah rujukan NHibernate.dll. Jika anda menggunakan editor Visual Studio, ia akan menyalin semua kebergantungan dan perpustakaan secara automatik dalam projek. Kemudian anda akan pergi untuk mencipta fail XML untuk pemetaan seperti yang ditunjukkan di bawah –

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

Sekarang, kami akan mencipta fail konfigurasi baharu, hibernate.cfg.xml, atau mendaftar masukan dalam Web. konfigurasi. Selepas itu, anda boleh mencipta fail POCO bernama Educbawriter seperti yang ditunjukkan di bawah –

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

Kini, kami akan mencipta kelas utama halaman ASX yang boleh digunakan sebagai kelas tunggal yang mempunyai kelas kilang sesi NHibernate di dalamnya –








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

Perkara terakhir ialah menutup sesi –

Anda boleh melihat output anda ditukar seperti yang ditunjukkan di bawah –

nhibernate dalam C#

Kesimpulan

NHibernate dalam C# boleh digunakan sebagai rangka kerja percuma sumber terbuka untuk ORM iaitu Pemetaan Hubungan Objek. Ia direka khas untuk rangka kerja .Net dan membantu dalam mencipta lapisan berterusan.

Atas ialah kandungan terperinci nhibernate dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Perbandingan objek C#Artikel seterusnya:Perbandingan objek C#