Entity Framework Core C# (.NET): पूरी गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Entity Framework Core क्या है और इसकी ज़रूरत क्यों है

Entity Framework Core (EF Core) Microsoft द्वारा विकसित .NET प्लेटफ़ॉर्म के लिए एक आधुनिक ऑब्जेक्ट-रिलेशनल मैपर (ORM) है। यह डेवलपर्स को .NET ऑब्जेक्ट्स का उपयोग करके डेटाबेस के साथ काम करने की सुविधा देता है और डेटा एक्सेस कोड लिखने की अधिकांश ज़रूरत को खत्म करता है।

EF Core Entity Framework का एक हल्का, विस्तार योग्य और क्रॉस-प्लेटफ़ॉर्म संस्करण है। यह SQL Server, SQLite, PostgreSQL, MySQL, Oracle और अन्य सहित कई DBMS का समर्थन करता है।

EF Core की मुख्य विशेषताएं:

  • मॉडल के आधार पर डेटाबेस स्कीमा का स्वचालित निर्माण और अपडेट (Code First)
  • LINQ (Language Integrated Query) का उपयोग करके डेटाबेस क्वेरी निष्पादित करना
  • ऑब्जेक्ट्स में बदलावों का स्वचालित ट्रैकिंग और डेटा अपडेट के लिए SQL कमांड जनरेट करना
  • डेटाबेस स्कीमा बदलावों के प्रबंधन के लिए माइग्रेशन सपोर्ट
  • एंटिटीज़ के बीच संबंधों का समर्थन (एक-से-एक, एक-से-अनेक, अनेक-से-अनेक)
  • संबंधित डेटा की लेज़ी, ईगर और एक्सप्लिसिट लोडिंग

Entity Framework Core की स्थापना (इंस्टॉलेशन)

EF Core को NuGet Package Manager के माध्यम से स्थापित किया जाता है। Python के विपरीत, यहाँ dotnet add package या Visual Studio पैकेज मैनेजर का उपयोग किया जाता है।

.NET CLI के माध्यम से स्थापना:

dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

PostgreSQL (Npgsql) के लिए स्थापना:

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

SQLite के लिए स्थापना:

dotnet add package Microsoft.EntityFrameworkCore.Sqlite

MySQL के लिए स्थापना:

dotnet add package Pomelo.EntityFrameworkCore.MySql

कोड उदाहरण के साथ त्वरित शुरुआत

चलिए किताबों के डेटाबेस के साथ काम करने के लिए एक सरल कंसोल एप्लिकेशन बनाते हैं।

1. डेटा मॉडल बनाएं:

public class Book
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
    public int Year { get; set; }
    public decimal Price { get; set; }
}

public class Author
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Book> Books { get; set; } = new();
}

2. डेटाबेस कॉन्टेक्स्ट बनाएं:

public class LibraryContext : DbContext
{
    public DbSet<Book> Books { get; set; }
    public DbSet<Author> Authors { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=library.db");
    }
}

3. डेटा के साथ काम करने के लिए EF Core का उपयोग करें:

using var context = new LibraryContext();
context.Database.EnsureCreated(); // अगर नहीं है तो DB बनाएं

// डेटा जोड़ना
var author = new Author { Name = "प्रेमचंद" };
author.Books.Add(new Book { Title = "गोदान", Year = 1936, Price = 500m });
author.Books.Add(new Book { Title = "गबन", Year = 1931, Price = 400m });

context.Authors.Add(author);
context.SaveChanges();

// डेटा पढ़ना
var books = context.Books
    .Where(b => b.Year > 1900)
    .OrderBy(b => b.Year)
    .ToList();

foreach (var book in books)
{
    Console.WriteLine($"{book.Title} ({book.Year})");
}

Entity Framework Core के मुख्य तरीके और फंक्शन

1. Add

विवरण: कॉन्टेक्स्ट में Added स्थिति में एक नई एंटिटी जोड़ता है। SaveChanges() कॉल करने पर INSERT कमांड निष्पादित होगी।

पैरामीटर:

  • object entity — जोड़ने के लिए एंटिटी का इंस्टेंस

उदाहरण:

var                    

अनुशंसाएँ