mIRCForumlari - mIRC ve IRC Kullanıcılarının Paylaşım Platformu
  https://www.sosyalchat.com/


SohbetG.Com

Kullanıcı Etiket Listesi

Yeni Konu aç Cevapla
 
Seçenekler
Alt 15 Şubat 2023, 03:21   #1
Çevrimdışı
Üyelik tarihi: 07 Aralık 2022
Konular: 21281
Mesajlar: 24.385
Nerden: İstanbul
Cinsiyet: Erkek
Web Site: TRmIRC.Net
IRC Sunucu: IRC.TRmIRC.Net
Alınan Beğeni: 3914
Beğendikleri: 7042
@RahmetLi
Ruh Hali : : Olu Gibi
Standart Entity Framework Nedir?

Entity Framework: .NET Tabanlı Nesne Yönelimli Veritabanı Erişim Teknolojisi

Entity Framework, .NET tabanlı bir nesne yönelimli veritabanı erişim teknolojisidir. Entity Framework, LINQ (Language Integrated Query) kullanarak veritabanı sorgularını ve CRUD (Create, Read, Update, Delete) işlemlerini nesne tabanlı bir şekilde gerçekleştirmeye olanak sağlar.

Entity Framework, veritabanı bağlantılarını yönetmek, veri modellemesini yapmak ve veritabanı nesneleri arasındaki ilişkileri tanımlamak için kullanılır. Entity Framework aynı zamanda veritabanına ilişkin birçok konuda geliştirme sürecini kolaylaştıran birçok araç ve özellik de sağlar. Bu sayede, .NET geliştiricileri veritabanı işlemlerini daha hızlı ve daha kolay bir şekilde gerçekleştirebilirler.

Entity Framework, Code First, Database First ve Model First yaklaşımları gibi farklı yaklaşımlarla kullanılabilir. Code First yaklaşımı, nesne modelini oluşturduktan sonra veritabanının otomatik olarak oluşturulmasına izin verirken, Database First yaklaşımı veritabanı şemasından nesne modeli oluşturulmasına izin verir. Model First yaklaşımı ise, veri modeli önce tasarlanır ve daha sonra veritabanı şemasına dönüştürülür.

Entity Framework'ün en önemli özelliklerinden biri, ORM (Object-Relational Mapping) özelliğidir. ORM, veritabanı nesneleriyle nesne modeli arasında bir haritalama sağlar. Bu, veritabanı işlemlerinin daha nesne yönelimli bir şekilde gerçekleştirilmesine olanak sağlar.

Entity Framework'ün diğer bir önemli özelliği de, veritabanı bağımsızlığıdır. Entity Framework, farklı veritabanı sistemleriyle (SQL Server, Oracle, MySQL vb.) uyumlu olarak çalışabilir. Bu sayede, farklı veritabanı sistemleri arasında kolaylıkla geçiş yapılabilir.

Sonuç olarak, Entity Framework, .NET geliştiricileri için veritabanı işlemlerini kolaylaştıran bir teknolojidir. Entity Framework, LINQ kullanarak veritabanı sorgularını ve CRUD işlemlerini nesne yönelimli bir şekilde gerçekleştirmeye olanak sağlar. Ayrıca, farklı veritabanı sistemleriyle uyumlu çalışabilmesi, geliştirme sürecini daha esnek hale getirir.


using System.ComponentModel.DataAnnotations;

public class Person
{
public int PersonId { get; set; }

[Required]
[StringLength(50)]
public string FirstName { get; set; }

[Required]
[StringLength(50)]
public string LastName { get; set; }

public DateTime DateOfBirth { get; set; }
}

public class MyDbContext : DbContext
{
public DbSet<Person> Persons { get; set; }
}


Bu örnek, bir "Person" sınıfı oluşturur ve sınıfın özellikleri veritabanında sütunlar olarak kullanılır. Veritabanı tablosu otomatik olarak oluşturulur ve adı "Persons" olarak atanır. (Tabi siz Table Attribute ile farklı isim vermezseniz)

MyDbContext sınıfı, DbContext sınıfından türetilir ve Person sınıfını DbSet olarak tanımlar. Bu, Entity Framework'ün "Person" nesnelerini veritabanı işlemlerinde kullanabileceği anlamına gelir.

Bu örnekte Code First, veritabanı şemasını nesne modelleriyle başlatır. Bu nedenle, veritabanını doğru şekilde oluşturmak için "Person" sınıfındaki her özellik için veritabanı sütunları oluşturulur. Bu örnek, Entity Framework'ün Code First yaklaşımının basit bir örneğidir ve uygulamanızın ihtiyaçlarına göre daha karmaşık modeller oluşturabilirsiniz.

Ayrıca veritabanınızı otomatik güncellemek için kullanabileceğiniz bir yapıda mevcuttur.

Entity Framework'teki Automatic Migration

Entity Framework'teki Automatic Migration özelliği, modelde yapılan değişikliklerin veritabanına otomatik olarak uygulanmasına izin verir. Bu özellik sayesinde, veritabanını elle güncelleme ihtiyacını ortadan kaldırarak, modelde yapılan değişikliklerin hızlı ve kolay bir şekilde uygulanmasını sağlar.

Örneğin, senin için bir "Blog" sınıfı düşünelim:


public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
}

Bu sınıfı DbContext sınıfına eklediğimizi varsayalım:


public class MyDbContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
}

Veritabanında "Blogs" adında bir tablo oluşturmak için "Add-Migration" komutunu kullanabiliriz. Şimdi, örneğin "Blog" sınıfına "Url" özelliğini eklediğimizi varsayalım:


public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}

"Add-Migration" komutunu kullanarak otomatik bir migration oluşturabiliriz:


Add-Migration AddUrlToBlog -ProjectName MyProject

Bu migration, "Blog" sınıfındaki değişikliği tespit edecek ve veritabanına bir sütun ekleyecektir.

Son olarak, "Update-Database" komutunu kullanarak veritabanını otomatik olarak güncelleyebiliriz:


Update-Database -ProjectName MyProject

Bu komut, migration'ı uygulayacak ve "Blogs" tablosuna "Url" sütununu ekleyecektir.

Bu örnek, Automatic Migration özelliğinin nasıl kullanılabileceğine ilişkin basit bir örnektir. Bu özellik, veritabanındaki değişiklikleri takip etmek ve manuel olarak veritabanını güncellemek için çok zaman ve çaba gerektiren durumlarda oldukça kullanışlıdır.


ALINTI




Kalbim Atar Cansız, Geçmez Gün Ahsız, Vahsız..
  Alıntı ile Cevapla

Cevapla
Etiketler
Entity, Framework, nedir?


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)