Altbilgi içeriğine atla
.NET YARDıM

NHibernate C# (Geliştiriciler için Nasıl Çalışır)

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - NHibernate C# Anasayfası

NHibernate, .NET çerçevesi ile kullanılmak üzere tasarlanmış güçlü bir Nesne İlişkisel Eşleme (ORM) çerçevesidir. Bu, geliştiricilere .NET uygulamalarının nesneye yönelik dünyası ile veritabanlarının ilişkisel dünyası arasındaki boşluğu verimli bir şekilde kapatma olanağı sağlar. NHibernate kullanarak, veri erişim katmanlarını uygulamak için gerekli olan gereksiz kod miktarını önemli ölçüde azaltabilirsiniz, bu da .NET uygulamalarınızı daha temiz ve daha bakımının yapılabilir kılar.

Veritabanı Etkileşimlerini Basitleştirmede ORM'nin Rolü

NHibernate gibi ORM çerçeveleri, geliştiricilerin verilerle SQL ifadeleri yerine nesneler ve özellikleri açısından çalışmasına izin verir. Bu soyutlama, geliştirme zamanlarını azaltarak temel iş mantığına yoğunlaşmayı sağlar ve SQL komutları ve veritabanı şeması konusunda dikkat gerektirmez. Örneğin, NHibernate, tüm SQL oluşturma ve yürütme işlemlerini, ekleme, silme ve güncelleme işlemleri gibi işlemleri basit nesne dönüştürmesi ve nesne manipülasyonu ile yapılmasını sağlar.

.NET Projesinde NHibernate Kurulumu

.NET projenizde NHibernate'e başlamak için ilk adım, NHibernate paketini kurmaktır. Bu, Visual Studio'nun NuGet Paket Yöneticisi aracılığıyla aşağıdaki komutu kullanarak kolayca yapılabilir:

Install-Package NHibernate

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Bir komut satırı konsolu açın ve NHibernate yüklemek için yukarıdaki komutu girin

XML Yapılandırma Dosyasıyla NHibernate'i Yapılandırma

NHibernate kurulduktan sonra, bir sonraki adım onu yapılandırmaktır. Bu, veritabanı sunucu ayarlarınızı ve nesnelerinizin veritabanı tablolara eşleme ayrıntılarını içeren bir Hibernate eşleme dosyası oluşturmayı içerir. Ana XML dosyası, genellikle hibernate.cfg.xml olarak adlandırılır, veritabanı bağlantı dizesi, diyalekt ve diğer veritabanına özgü ayarları içerir.

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">
      NHibernate.Connection.DriverConnectionProvider
    </property>
    <property name="connection.driver_class">
      NHibernate.Driver.SqlClientDriver
    </property>
    <property name="connection.connection_string">
      Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
    </property>
    <property name="dialect">
      NHibernate.Dialect.MsSql2012Dialect
    </property>
    <property name="show_sql">true</property>
    <mapping resource="Employee.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">
      NHibernate.Connection.DriverConnectionProvider
    </property>
    <property name="connection.driver_class">
      NHibernate.Driver.SqlClientDriver
    </property>
    <property name="connection.connection_string">
      Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
    </property>
    <property name="dialect">
      NHibernate.Dialect.MsSql2012Dialect
    </property>
    <property name="show_sql">true</property>
    <mapping resource="Employee.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
XML

NHibernate'in Temel Bileşenlerini Anlama

NHibernate içindeki önemli bileşenlerden biri, fabrikasyon tasarım deseni kullanılarak tasarlanmış olan Oturum Fabrikası'dır. Bu bileşen, veritabanına bağlantıyı yönetir ve işlem operasyonlarını tutar. Oturum Fabrikası oluşturmak maliyetlidir, bu nedenle tipik olarak uygulama ömrü başına bir kez yapılır ve performans optimizasyonu için önemli bir unsur olarak kabul edilir.

NHibernate'teki Anahtar Sınıflar ve Metotlar

NHibernate, birkaç önemli sınıf ve metot etrafında döner. Örneğin, ISession arabirimi NHibernate'de temel bir rol oynar, veri sorgulama ve manipülasyon oturumlarının oluşturulmasını kolaylaştırır. OpenSession gibi yöntemler, geliştiricilerin işlemleri başlatmasına, SQL komutları gerçekleştirmesine ve ya SQL ifadeleri ya da NHibernate'in kendi HQL (Hibernate Query Language) dilini kullanarak veritabanını sorgulamasına yardımcı olur.

NHibernate ile Varlıkları Veritabanı Tablolarına Eşleme

NHibernate'de varlık eşlemesi, genellikle XML olarak yazılan eşleme dosyaları aracılığıyla gerçekleştirilir. Bu dosyalar, genellikle varlık sınıfının adını taşır (örneğin, Employee.hbm.xml) ve bir varlıkın özelliklerinin bir veritabanı tablosunun sütunlarına nasıl eşlendiğini tanımlar. Tipik bir eşleme dosyası, sınıf adı, tablo adı ve her bir özelliğin birincil anahtar, sütun adı ve veri türü gibi ayrıntılarını içerir.

Eşleme Dosyalarında Kullanılan Özellikler ve Nitelikler Üzerine Detaylı Bir Bakış

Bu eşleme dosyalarında, her özellik için not-null kısıtlamaları veya unique kısıtlamaları gibi çeşitli nitelikleri belirleyebilirsiniz. NHibernate ayrıca, nesneye yönelik bir çerçeve içinde ilişkisel veri yapısını temsil etmek için güçlü bir araç seti sağlayan çoktan çoğuna ve çoka çok gibi karmaşık eşlemelere izin verir.

NHibernate'te SQL Komutları ve İşlemleri Yürütme

NHibernate, kapsamlı SQL komutları altına işlevselliği basitleştiren CRUD (Create, Read, Update, Delete) işlemlerini basitleştirir. Geliştiriciler, bu işlemleri açık SQL kodu yazmadan, yerine ISession arabirimi tarafından sağlanan yöntemleri kullanarak gerçekleştirebilir. Örneğin, veritabanına yeni bir varlık eklemek için, sadece nesnenin yeni bir örneğini oluşturun, özelliklerini ayarlayın ve ISession'in Save yöntemini kullanın.

ITransaction ile İşlem Yönetimi

NHibernate'de işlemler ITransaction arabirimi üzerinden yönetilir, bu da veri bütünlüğü ve tutarlılığını sağlar. Geliştiriciler, ISession'ten BeginTransaction yöntemini kullanarak, işlemlerin başarılı bir şekilde tamamlandığından emin olabilir, eğer bir sorun çıkarsa veriyi geri çekebilir ve böylece verilerinizin kararlılığını sürdürebilir.

Tam Kod Örneği

Bu örnek, NHibernate yapılandırma ve eşleme dosyalarının kurulumunun yanı sıra NHibernate kullanarak oluşturma, okuma, güncelleme ve silme işlemlerinin nasıl gerçekleştirileceğini gösterir.

using NHibernate;
using NHibernate.Cfg;
using System;

// Define the Employee class with virtual properties
public class Employee
{
    public virtual int Id { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
}

class Program
{
    private static ISessionFactory sessionFactory;

    static void Main()
    {
        // Initialize the SessionFactory using NHibernate configuration
        sessionFactory = new Configuration().Configure().BuildSessionFactory();

        // Perform database operations
        CreateEmployee();
        ReadEmployee(1);
        UpdateEmployee(1, "UpdatedName");
        DeleteEmployee(1);
    }

    static void CreateEmployee()
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            var newEmployee = new Employee
            {
                FirstName = "Iron",
                LastName = "Software"
            };
            session.Save(newEmployee); // Save the new Employee object to the database
            transaction.Commit(); // Commit the transaction to finalize the insertion
            Console.WriteLine("Employee created: " + newEmployee.Id);
        }
    }

    static void ReadEmployee(int id)
    {
        using (var session = sessionFactory.OpenSession())
        {
            // Retrieve the Employee object by its Id
            var employee = session.Get<Employee>(id);
            Console.WriteLine("Read Employee: " + employee.FirstName + " " + employee.LastName);
        }
    }

    static void UpdateEmployee(int id, string newFirstName)
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            // Get the Employee object by its Id
            var employee = session.Get<Employee>(id);
            employee.FirstName = newFirstName; // Update the employee's first name
            session.Update(employee); // Update the Employee object in the database
            transaction.Commit(); // Commit the transaction to save changes
            Console.WriteLine("Employee updated: " + employee.FirstName);
        }
    }

    static void DeleteEmployee(int id)
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            // Retrieve the Employee object to be deleted
            var employee = session.Get<Employee>(id);
            session.Delete(employee); // Delete the Employee from the database
            transaction.Commit(); // Commit the transaction to finalize the deletion
            Console.WriteLine("Employee deleted");
        }
    }
}
using NHibernate;
using NHibernate.Cfg;
using System;

// Define the Employee class with virtual properties
public class Employee
{
    public virtual int Id { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
}

class Program
{
    private static ISessionFactory sessionFactory;

    static void Main()
    {
        // Initialize the SessionFactory using NHibernate configuration
        sessionFactory = new Configuration().Configure().BuildSessionFactory();

        // Perform database operations
        CreateEmployee();
        ReadEmployee(1);
        UpdateEmployee(1, "UpdatedName");
        DeleteEmployee(1);
    }

    static void CreateEmployee()
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            var newEmployee = new Employee
            {
                FirstName = "Iron",
                LastName = "Software"
            };
            session.Save(newEmployee); // Save the new Employee object to the database
            transaction.Commit(); // Commit the transaction to finalize the insertion
            Console.WriteLine("Employee created: " + newEmployee.Id);
        }
    }

    static void ReadEmployee(int id)
    {
        using (var session = sessionFactory.OpenSession())
        {
            // Retrieve the Employee object by its Id
            var employee = session.Get<Employee>(id);
            Console.WriteLine("Read Employee: " + employee.FirstName + " " + employee.LastName);
        }
    }

    static void UpdateEmployee(int id, string newFirstName)
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            // Get the Employee object by its Id
            var employee = session.Get<Employee>(id);
            employee.FirstName = newFirstName; // Update the employee's first name
            session.Update(employee); // Update the Employee object in the database
            transaction.Commit(); // Commit the transaction to save changes
            Console.WriteLine("Employee updated: " + employee.FirstName);
        }
    }

    static void DeleteEmployee(int id)
    {
        using (var session = sessionFactory.OpenSession())
        using (var transaction = session.BeginTransaction())
        {
            // Retrieve the Employee object to be deleted
            var employee = session.Get<Employee>(id);
            session.Delete(employee); // Delete the Employee from the database
            transaction.Commit(); // Commit the transaction to finalize the deletion
            Console.WriteLine("Employee deleted");
        }
    }
}
Imports NHibernate
Imports NHibernate.Cfg
Imports System

' Define the Employee class with virtual properties
Public Class Employee
	Public Overridable Property Id() As Integer
	Public Overridable Property FirstName() As String
	Public Overridable Property LastName() As String
End Class

Friend Class Program
	Private Shared sessionFactory As ISessionFactory

	Shared Sub Main()
		' Initialize the SessionFactory using NHibernate configuration
		sessionFactory = (New Configuration()).Configure().BuildSessionFactory()

		' Perform database operations
		CreateEmployee()
		ReadEmployee(1)
		UpdateEmployee(1, "UpdatedName")
		DeleteEmployee(1)
	End Sub

	Private Shared Sub CreateEmployee()
		Using session = sessionFactory.OpenSession()
		Using transaction = session.BeginTransaction()
			Dim newEmployee = New Employee With {
				.FirstName = "Iron",
				.LastName = "Software"
			}
			session.Save(newEmployee) ' Save the new Employee object to the database
			transaction.Commit() ' Commit the transaction to finalize the insertion
			Console.WriteLine("Employee created: " & newEmployee.Id)
		End Using
		End Using
	End Sub

	Private Shared Sub ReadEmployee(ByVal id As Integer)
		Using session = sessionFactory.OpenSession()
			' Retrieve the Employee object by its Id
			Dim employee = session.Get(Of Employee)(id)
			Console.WriteLine("Read Employee: " & employee.FirstName & " " & employee.LastName)
		End Using
	End Sub

	Private Shared Sub UpdateEmployee(ByVal id As Integer, ByVal newFirstName As String)
		Using session = sessionFactory.OpenSession()
		Using transaction = session.BeginTransaction()
			' Get the Employee object by its Id
			Dim employee = session.Get(Of Employee)(id)
			employee.FirstName = newFirstName ' Update the employee's first name
			session.Update(employee) ' Update the Employee object in the database
			transaction.Commit() ' Commit the transaction to save changes
			Console.WriteLine("Employee updated: " & employee.FirstName)
		End Using
		End Using
	End Sub

	Private Shared Sub DeleteEmployee(ByVal id As Integer)
		Using session = sessionFactory.OpenSession()
		Using transaction = session.BeginTransaction()
			' Retrieve the Employee object to be deleted
			Dim employee = session.Get(Of Employee)(id)
			session.Delete(employee) ' Delete the Employee from the database
			transaction.Commit() ' Commit the transaction to finalize the deletion
			Console.WriteLine("Employee deleted")
		End Using
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

NHibernate'in Veritabanı Taşınabilirliği ve Karşılıklı Çalışma Özellikleri

Veritabanı portatifliği NHibernate ile sağlanmıştır. Dil ekini takiben, NHibernate çoğu SQL veritabanına minimal kod değişiklikleri ile adapte olabilir. Bu da, verilerinizin erişim katmanını yeniden yazmak zorunda kalmadan bir SQL Sunucusundan MySQL veya Oracle'a geçmenizi sağlar.

SQL Sunucusu Gibi Çeşitli Veritabanı Sistemleri için NHibernate'i Uyarlama

NHibernate'deki XML yapılandırma dosyaları, geliştiricilerin, veritabanı sistemlerine özgü SQL dili ekini belirlemelerine olanak tanır. Bu NHibernate'i, SQL'i destekleyen neredeyse her ilişkisel veritabanı ile işleyen bir esnek çözüm yapar ve uygulamanızın farklı veritabanı sistemleri arasında taşınabilir olmasını sağlar.

IronPDF ile NHibernate Kullanımı

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - IronPDF Anasayfası

IronPDF ile NHibernate entegrasyonu, .NET uygulamalarınızı geliştirebilen güçlü bir kombinasyondur. Bu, NHibernate ile veritabanı işlemlerini yönetmenizi sağlarken, IronPDF'den veri PDF belgeleri üretmek için faydalanmanıza olanak tanır. Uygulamanızın kullanıcıya özgü belgeler sunması gerektiği bir senaryoyu düşünün, bunlar PDF formatında oluşturulmalı ve indirilmelidir. NHibernate, veritabanlarınızdaki veri alma işlemlerini etkin bir şekilde yönetebilir, IronPDF ise bu verileri iyi biçimlendirilmiş PDF dosyalarına dönüştürebilir.

IronPDF Kurulumu

Öncelikle, projenize IronPDF eklediğinizden emin olun. NuGet Paket Yöneticisi ile IronPDF paketini yükleyerek dahil edebilirsiniz.

Install-Package IronPdf

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - IronPDF'yi NuGet Paket Yöneticisi üzerinden yükleyin

Kod Örneği

Bunu uygulamanızda nasıl uygulayacağımızı daha derinlemesine inceleyelim. NHibernate'i kurup, çalışan ayrıntılar gibi veritabanından gerekli verileri aldıktan sonra, PDF belgesinin nasıl görünmesi gerektiğini temsil eden bir HTML şablonu hazırlarsınız. Bu HTML şablonu NHibernate'den alınan verilerle dinamik olarak doldurulabilir. Örneğin, bir çalışan raporu oluşturuyorsanız, şablon çalışanın adı, ID'si ve diğer ilgili detaylar için yer tutucular içerecektir.

İşte NHibernate kullanarak veri alma ve IronPDF kullanarak PDF'ye dönüştürme işlemini gösteren ayrıntılı bir kod örneği:

using IronPdf;
using NHibernate;

static void CreateEmployeeReport(int employeeId)
{
    // Open a session to interact with the database
    using (var session = OpenSession())
    {
        // Retrieve the employee object based on the provided ID
        var employee = session.Get<Employee>(employeeId);

        // Create an instance of the ChromePdfRenderer class from IronPDF
        var renderer = new ChromePdfRenderer();

        // Create the HTML content for the PDF, embedding employee data into the HTML
        var htmlTemplate = $@"
            <html>
            <head>
                <title>Employee Report</title>
            </head>
            <body>
                <h1>Employee Details</h1>
                <p>Name: {employee.FirstName} {employee.LastName}</p>
                <p>ID: {employee.Id}</p>
            </body>
            </html>";

        // Render the HTML string as a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlTemplate);

        // Save the generated PDF to a file
        pdf.SaveAs("EmployeeReport.pdf");
    }
}
using IronPdf;
using NHibernate;

static void CreateEmployeeReport(int employeeId)
{
    // Open a session to interact with the database
    using (var session = OpenSession())
    {
        // Retrieve the employee object based on the provided ID
        var employee = session.Get<Employee>(employeeId);

        // Create an instance of the ChromePdfRenderer class from IronPDF
        var renderer = new ChromePdfRenderer();

        // Create the HTML content for the PDF, embedding employee data into the HTML
        var htmlTemplate = $@"
            <html>
            <head>
                <title>Employee Report</title>
            </head>
            <body>
                <h1>Employee Details</h1>
                <p>Name: {employee.FirstName} {employee.LastName}</p>
                <p>ID: {employee.Id}</p>
            </body>
            </html>";

        // Render the HTML string as a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlTemplate);

        // Save the generated PDF to a file
        pdf.SaveAs("EmployeeReport.pdf");
    }
}
Imports IronPdf
Imports NHibernate

Shared Sub CreateEmployeeReport(ByVal employeeId As Integer)
	' Open a session to interact with the database
	Using session = OpenSession()
		' Retrieve the employee object based on the provided ID
		Dim employee = session.Get(Of Employee)(employeeId)

		' Create an instance of the ChromePdfRenderer class from IronPDF
		Dim renderer = New ChromePdfRenderer()

		' Create the HTML content for the PDF, embedding employee data into the HTML
		Dim htmlTemplate = $"
            <html>
            <head>
                <title>Employee Report</title>
            </head>
            <body>
                <h1>Employee Details</h1>
                <p>Name: {employee.FirstName} {employee.LastName}</p>
                <p>ID: {employee.Id}</p>
            </body>
            </html>"

		' Render the HTML string as a PDF document
		Dim pdf = renderer.RenderHtmlAsPdf(htmlTemplate)

		' Save the generated PDF to a file
		pdf.SaveAs("EmployeeReport.pdf")
	End Using
End Sub
$vbLabelText   $csharpLabel

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - Yukarıdaki koddan örnek çıktı

Bu kodda, OpenSession(), bir NHibernate oturumunu başlatan ve bu oturumun çalışan verilerini getirmesi için kullanılan bir yöntemdir. IronPDF'den ChromePdfRenderer sınıfı daha sonra dolu HTML şablonunu alır ve bunu PDF olarak işler. Bu PDF yerel olarak kaydedilebilir, ancak bir web arayüzü aracılığıyla doğrudan bir kullanıcıya da aktarılabilir.

Sonuç

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 6 - IronPDF lisanslama sayfası

Bu öğreticide, NHibernate'in .NET uygulamalarında veritabanı işlemlerini nasıl basitleştirdiği ve IronPDF ile entegrasyonun, dinamik PDF belgelerinin oluşturulmasını sağlayarak işlevselliği nasıl artırdığı araştırıldı. NHibernate, sağlam veri yönetimi araçları sağlar; IronPDF ise verilerle doldurulmuş HTML şablonlarından profesyonel kalitede PDF'ler oluşturmanıza yardımcı olur.

IronPDF, ücretsiz bir deneme için kullanılabilir ve lisanslar, uygulamalarınıza güçlü PDF oluşturmayı entegre etmek için uygun maliyetli bir çözümle başlar. Bu araçlar birlikte, hem kurumsal hem de daha küçük ölçekli projeler için verilerin yönetilmesi ve belgelerin üretilmesi için kapsamlı bir çözüm sunar.

Sıkça Sorulan Sorular

NHibernate'ı C# içinde bir PDF oluşturma kütüphanesi ile nasıl entegre edebilirim?

NHibernate, veritabanı işlemlerini yönetmek ve verileri almak için kullanılarak IronPDF ile entegre edilebilir. Böylece IronPDF, bu verileri PDF belgelerine dönüştürebilir. Bu yöntem, kullanıcıya özel verilere dayalı dinamik PDF'ler oluşturulmasına olanak tanır.

NHibernate'deki Session Factory'nin amacı nedir?

NHibernate'de, Oturum Fabrikası, veritabanı bağlantılarını yönetmek ve işlemsel operasyonlar gerçekleştirmek için Oturum nesneleri oluşturan önemli bir bileşendir. Performansı optimize eder çünkü oluşturulması maliyetlidir ve genellikle uygulama ömrü boyunca bir kez örneklenir.

NHibernate'de CRUD işlemlerinin nasıl gerçekleştirildiğini açıklayabilir misiniz?

NHibernate içerisindeki CRUD işlemleri, Save, Update ve Delete gibi metodlar sağlayan `ISession` arayüzü aracılığıyla soyutlanır. Bu, geliştiricilerin bu işlemleri doğrudan SQL komutları yazmadan gerçekleştirmesine olanak tanır.

NHibernate kullanmanın .NET geliştiricileri için faydaları nelerdir?

NHibernate, .NET geliştiricilerine veri erişim katmanları için gereken şablon kod miktarını azaltarak uygulamaların sürdürülebilirliğini artırır. Aynı zamanda, veri tabanı etkileşimlerini soyutlayarak geliştiricilerin iş mantığına daha fazla odaklanmalarını sağlar.

NHibernate, veritabanı taşınabilirliğini nasıl destekler?

NHibernate, çeşitli SQL veritabanlarına uyum sağlamasına olanak tanıyan lehçe yapılandırması aracılığıyla veritabanı taşınabilirliğini destekler. Bu, geliştiricilerin tek bir veritabanı sisteminden diğerine kod tabanında minimum değişiklikle geçiş yapmasını sağlar.

NHibernate'de haritalama dosyalarının rolü nedir?

NHibernate'deki haritalama dosyaları, tipik olarak XML dosyaları, bir varlığın özelliklerinin bir veritabanı tablosundaki sütunlara nasıl eşleneceğini tanımlar. Birincil anahtarlar, sütun adları ve veri türleri gibi önemli ayrıntıları içerirler ve bire çok ilişkiler gibi karmaşık haritalamaları desteklerler.

NHibernate'de işlemler nasıl etkili bir şekilde yönetilebilir?

NHibernate'deki işlemler, veri bütünlüğünü sağlamak için `ITransaction` arayüzü kullanılarak yönetilir. Geliştiriciler, işlemleri yönetmek için `ISession` üzerindeki BeginTransaction yöntemini kullanabilir, tüm işlemler başarılı olursa veriyi işleyebilir veya herhangi bir sorun çıkarsa geri alabilir.

.NET projesinde NHibernate nasıl kurulur?

NHibernate'ı kurmak için Visual Studio'nun NuGet Paket Yöneticisi aracılığıyla Install-Package NHibernate komutunu kullanarak NHibernate paketini yükleyin. Veritabanı ayarlarını ve nesne eşlemelerini tanımlamak için `hibernate.cfg.xml` gibi bir XML eşleme dosyası ile yapılandırın.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara