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 framework ile kullanılmak üzere tasarlanmış güçlü bir Nesne İlişkisel Haritalama (ORM) framework'üdür. Geliştiricilere, .NET uygulamalarının nesne odaklı dünyası ile veritabanlarının ilişkisel dünyası arasındaki boşluğu köprülemek için verimli bir yol sunar. NHibernate kullanarak, veri erişim katmanlarını uygulamak için gereken şablon kod miktarını önemli ölçüde azaltabilir, .NET uygulamalarınızı daha temiz ve daha sürdürülebilir hale getirebilirsiniz.

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

NHibernate gibi ORM framework'leri, geliştiricilerin verilerle SQL ifadeleri yerine nesnelerin ve özelliklerinin terimleriyle çalışmasına olanak tanıyarak ilişkisel veritabanları ile etkileşimleri basitleştirir. Bu soyutlama, geliştiricilerin uygulamalarının iş mantığına daha fazla odaklanmasına ve altta yatan SQL komutları ve veritabanı şemasından daha az etkilenmesine yardımcı olur. Örneğin, NHibernate tüm SQL oluşturma ve yürütme işlemlerini yönetir ve nesne dönüştürme ve nesne manipülasyonu ile ekleme, silme ve güncellemeleri basit bir şekilde gerçekleştirilmesini sağlar.

Bir .NET Projesinde NHibernate Kurulumu

.NET projenizde NHibernate ile çalışmaya başlamak için ilk adım, NHibernate paketini kurmaktır. Bu, Visual Studio'nun NuGet Paket Yöneticisi üzerinden aşağıdaki komut kullanılarak kolayca yapılabilir:

Install-Package NHibernate

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - NHibernate kurmak için yukarıdaki komutu girdiğiniz komut satırı konsolunu açın

XML Yapılandırma Dosyası ile 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ı tablolarına nasıl haritalandığına dair ayrıntıları 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 Anlamak

NHibernate'in temel bileşenlerinden biri, fabrika tasarım deseni kullanılarak tasarlanan Oturum Fabrikası'dır. Bu bileşen, veritabanına bağlantıyı yöneten ve işlemsel operasyonları tutan Oturum nesneleri oluşturur. Oturum Fabrikası oluşturulması maliyetli bir bileşendir, bu nedenle genellikle uygulamanın ömrü boyunca bir kez yapılır ve performans optimizasyonu için kritik bir elemandır.

NHibernate'teki Temel Sınıflar ve Metodlar

NHibernate, birkaç temel sınıf ve metot etrafında döner. Örneğin, ISession arabirimi NHibernate'de temel bir rol oynar ve 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ı yürütmesine ve veritabanını sorgulamasına, SQL ifadeleri veya NHibernate'in kendi HQL'i (Hibernate Sorgu Dili) kullanarak yardımcı olur.

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

NHibernate'de varlık eşleştirme, genellikle XML'de 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), bir varlığın özelliklerinin bir veritabanı tablosunun sütunlarına nasıl eşleneceğini tanımlar. Tipik bir eşleme dosyası, sınıf adı, tablo adı ve her bir özelliğe dair birincil anahtar, sütun adı ve veri türü gibi ayrıntıları içerir.

Eşleme Dosyalarındaki Özellikler ve Kullanılan Niteliklere Detaylı Bakış

Bu eşleme dosyalarında, her bir özellik için not-null kısıtlamaları veya benzersiz kısıtlamalar gibi çeşitli nitelikler belirtebilirsiniz. NHibernate ayrıca birden çoğa ve çoğadan bire gibi karmaşık eşlemeleri de destekleyerek, nesne yönelimli bir çerçeve içinde ilişkisel veri yapılarını temsil etme için güçlü bir araç seti sağlar.

NHibernate'te SQL Komutlarını ve İşlemleri Gerçekleştirme

NHibernate, alttaki SQL komutlarını soyutlayarak CRUD (Create, Read, Update, Delete) işlemlerini basitleştirir. Geliştiriciler bu işlemleri açıkça SQL kodu yazmadan, ISession arabirimi tarafından sağlanan yöntemleri kullanarak yapabilirler. Örneğin, veritabanına yeni bir varlık eklemek için, basitçe nesnenin yeni bir örneğini oluşturur, özelliklerini ayarlar ve ISession'in Save metodunu kullanırsınız.

ITransaction ile İşlemleri Yönetme

NHibernate'deki işlemler ITransaction arabirimi aracılığıyla yönetilir, bu da veri bütünlüğü ve tutarlılığını sağlar. Geliştiriciler, BeginTransaction metodunu ISession'den kullanarak tüm işlemlerin başarıyla tamamlandığından emin olabilir veya bir şeyler ters giderse geri alabilir, böylece verilerinizin istikrarını korur.

Tam Kod Örneği

Bu örnek, NHibernate yapılandırmasının ve eşleme dosyalarının kurulumunu içerir ve 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

Veritabanı Taşınabilirliği ve Birlikte Çalışabilirlik Özellikleri

NHibernate veritabanı taşınabilirliği sağlanarak tasarlanmıştır. Lehçe yapılandırması sayesinde, NHibernate kod tabanında minimal değişikliklerle çoğu SQL veritabanına uyum sağlayabilir. Bu, veri erişim katmanınızı yeniden yazmak zorunda kalmadan bir SQL Sunucusu'ndan MySQL veya Oracle'a geçiş yapabileceğiniz anlamına gelir.

SQL Server gibi Çeşitli Veritabanı Sistemleri için NHibernate'i Uyarlama

NHibernate'deki XML yapılandırma dosyaları, geliştiricilerin veritabanı sistemlerine özgü SQL lehçesini belirtmelerine olanak tanır. Bu, NHibernate'i SQL'i destekleyen neredeyse her türlü ilişkisel veritabanı ile çalışacak şekilde kolayca uyarlanabilecek esnek bir çözüm haline getirerek uygulamanızın farklı veritabanı sistemleri arasında taşınabilir olmasını sağlar.

NHibernate'i IronPDF ile Kullanma

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

NHibernate'i IronPDF ile entegre etmek, .NET uygulamalarınızı güçlendirebilecek güçlü bir kombinasyon oluşturur. Veritabanı işlemlerini NHibernate ile yönetirken IronPDF'yi kullanarak verilerinizden PDF belgeleri üretmenize olanak tanır. Uygulamanızın, çalışana özel raporlar gibi kullanıcılara özel belgeler sağlaması gerektiği bir senaryoyu düşünün; bu belgeler PDF formatında üretilip indirilmelidir. NHibernate, veritabanınızdan veri alma süreçlerini verimli bir şekilde yönetebilirken, IronPDF bu verileri iyi biçimlendirilmiş PDF dosyalarına dönüştürebilir.

IronPDF Yükleyin

Öncelikle IronPDF'ün projenize eklendiğinden emin olun. NuGet Paket Yöneticisi aracılığıyla IronPDF paketini yükleyerek bunu ekleyebilirsiniz.

Install-Package IronPdf

NHibernate C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - IronPDF'i NuGet Package Manager aracılığıyla kurun

Kod Örneği

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

NHibernate kullanarak verileri nasıl alacağınızı ve IronPDF kullanarak bu verileri PDF'ye nasıl dönüştüreceğinizi gösteren detaylı 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 koddaki örnek çıktı

Bu kodda, OpenSession() NHibernate oturumu başlatan bir yöntemdir ve bu oturum çalışan verilerini almak için kullanılır. Ardından, IronPDF'den ChromePdfRenderer sınıfı, alınan verilerle doldurulmuş HTML şablonunu alır ve bunu bir PDF olarak işler. Bu PDF yerel olarak kaydedilir, ancak aynı zamanda bir web arayüzü aracılığıyla doğrudan bir kullanıcıya da akış olarak gönderilebilir.

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ğini ve IronPDF ile entegrasyonunun dinamik PDF belgeleri üretimini sağlayarak nasıl işlevselliği artırdığını inceledik. NHibernate, sağlam veri yönetim araçları sunarken, IronPDF tek başına veriyle doldurulmuş HTML şablonlarından profesyonel kalite PDF'ler oluşturmak için kolay bir yol sunar.

IronPDF, uygulamalarınıza güçlü PDF oluşturma işlemlerini entegre etmek için maliyet etkin bir çözüm olarak başlayan bir ücretsiz deneme ve lisanslar sunuyor. Bu araçlar birlikte, veri yönetimi ve belge üretimi için kapsamlı bir çözüm sunarak hem kurumsal düzeyde hem de daha küçük ölçekli projeler için idealdir.

Sıkça Sorulan Sorular

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

NHibernate, veritabanı işlemlerini yurutup verileri alarak IronPDF ile entegre edilebilir, bu veriler IronPDF tarafından PDF dokümanlarına dönüştürulabilir. Bu, kullaniciya ozgu verilere dayalı dinamik PDF oluşturulmasını saglar.

NHibernate'te Session Factory'nin amaci nedir?

NHibernate'te, Session Factory, Session objelerini oluşturup yönetim işlemlerini gerceklestiren temel bir bilesendir. Yaratma maliyeti yüksek oldugu için performansı optimize eder ve genellikle uygulama omru boyunca bir kez oluşturulur.

NHibernate'te CRUD işlemleri nasıl gerceklestirilir?

NHibernate'teki CRUD işlemleri, SQL komutlarini doğrudan yazmadan bu işlemleri yapabilmeniz için metodlar sunan `ISession` arabirimi uzerinden soyutlanir, bu metodlar arasinda Save, Update ve Delete vardir.

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

NHibernate, veri erişimi katmanlari için gerekli olan rutin kod miktarini azaltarak .NET geliştiricilerine fayda saglar, bu da uygulama sürdürülebilirliğini arttirir. Veritabanı etkileşimlerini soyutlar, böylece geliştiricilerin is mantığına daha fazla odaklanmalarını sağlar.

NHibernate veritabani tasinabilirligini nasıl destekler?

NHibernate, çeşitli SQL veritabani sistemlerine adapte olabilmesini saglayan dile ayariyla, veritabani tasinabilirligini destekler. Bu, geliştiricilerin kod tabaninda minimum değişiklikle bir veritabani sisteminden digerine geçiş yapmasini saglar.

NHibernate'teki haritalama dosyaları ne gibi bir rol oynar?

Genellikle XML dosyaları olan NHibernate'teki haritalama dosyaları, bir varlıgın özelliklerinin bir veritabanı tablosundaki sütunlara nasıl eslestirilecegini tanımlar. Bunlar, birincil anahtarlar, sütun adlari ve veri türleri gibi önemli ayrıntıları içerir ve bire birden coga iliskiler gibi karmaşık eşlemeleri destekler.

NHibernate'te işlemler etkin bir şekilde nasıl yönetilebilir?

NHibernate'teki işlemler, veri butunlugünü saglayan `ITransaction` arabirimi kullanilarak yönetilir. Geliştiriciler, `ISession`'in BeginTransaction metodunu kullanarak işlemleri yönetebilirler; tüm işlemler başarılıysa veri kaydedilir, herhangi bir sorun ciktiginda geri alinir.

.NET projesinde NHibernate'i nasıl kurar ve ayarlarim?

NHibernate kurulumunu yapmak için Visual Studio'nun NuGet Paket Yönetici'si uzerinden Install-Package NHibernate komutunu kullanarak NHibernate paketini yükleyin. Veritabani ayarlarını ve nesne eslemelerini tanımlamak için `hibernate.cfg.xml` gibi bir XML haritalama dosyasiyla yapılandirin.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku

Iron Destek Ekibi

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