एंटिटी फ्रेमवर्क कोर (EF Core) एक ऑब्जेक्ट-रिलेशनल मैपिंग (ORM) फ्रेमवर्क है जो डेवलपर्स को .NET ऑब्जेक्ट्स का उपयोग करके डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है। ईएफ कोर की आवश्यक विशेषताओं में से एक इसकी डेटाबेस माइग्रेशन को संभालने की क्षमता है।
यह लेख EF कोर माइग्रेशन को प्रदर्शित करता है, वे क्यों महत्वपूर्ण हैं, और एक उदाहरण के साथ उनका उपयोग कैसे करें। तो, शुरू करने के लिए:
सी # काफी समय से आसपास रहा है, और यह अधिक उन्नत सुविधाओं को प्राप्त करने के लिए विकसित करना जारी रखता है। मध्यम.कॉम
EF कोर माइग्रेशन समय के साथ आपके डेटाबेस स्कीमा में परिवर्तनों को प्रबंधित करने का एक तरीका है। जब आप अपने डेटाबेस मॉडल में परिवर्तन करते हैं (जैसे टेबल या कॉलम जोड़ना या हटाना), तो आप एक माइग्रेशन बना सकते हैं जो उन परिवर्तनों का वर्णन करता है।
नए मॉडल से मेल खाने के लिए डेटाबेस स्कीमा को अपडेट करने के लिए माइग्रेशन का उपयोग किया जाता है।
ईएफ कोर माइग्रेशन आवश्यक हैं क्योंकि वे आपको डेटा को संरक्षित करते हुए समय के साथ अपने डेटाबेस स्कीमा को विकसित करने की अनुमति देते हैं।
माइग्रेशन के बिना, जब भी आप अपने मॉडल में बदलाव करते हैं, तो आपको हर बार अपने डेटाबेस स्कीमा को मैन्युअल रूप से संशोधित करना होगा, जो समय लेने वाला और त्रुटि-प्रवण हो सकता है।
माइग्रेशन आपके डेटाबेस स्कीमा को संस्करणित करने का एक तरीका भी प्रदान करता है ताकि आप परिवर्तनों को आसानी से ट्रैक कर सकें और यदि आवश्यक हो तो पिछले संस्करणों में वापस रोल कर सकें।
EF कोर माइग्रेशन का उपयोग करने के लिए, आपको कुछ चरणों का पालन करना होगा:
एक नया ईएफ कोर प्रोजेक्ट बनाएं। पहला कदम विजुअल स्टूडियो में एक नया ईएफ कोर प्रोजेक्ट बनाना है। आप "एक नया प्रोजेक्ट बनाएं" का चयन करके और फिर "ASP.NET कोर वेब एप्लिकेशन" का चयन करके और "वेब एप्लिकेशन (मॉडल-व्यू-कंट्रोलर)" टेम्पलेट चुनकर ऐसा कर सकते हैं।
एक डेटाबेस संदर्भ बनाएँ। अगला कदम डेटाबेस संदर्भ वर्ग बनाना है। यह क्लास आपके .NET ऑब्जेक्ट्स और डेटाबेस के बीच इंटरेक्शन को मैनेज करती है। डेटाबेस संदर्भ बनाने के लिए, अपने प्रोजेक्ट में एक नया वर्ग बनाएँ और इसे DbContext वर्ग से इनहेरिट करें।
public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } }
एक डेटाबेस मॉडल बनाएँ
डेटाबेस कॉन्टेक्स्ट बनाने के बाद, आपको एक डेटाबेस मॉडल बनाना होगा। यह मॉडल आपके डेटाबेस की संरचना का प्रतिनिधित्व करता है और इसका उपयोग EF Core द्वारा डेटाबेस टेबल और कॉलम बनाने के लिए किया जाता है।
एक डेटाबेस मॉडल बनाने के लिए, अपने प्रोजेक्ट में एक नया वर्ग बनाएँ, और इसके गुणों को डेटाबेस फ़ील्ड के रूप में परिभाषित करें।
public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }
ईएफ कोर माइग्रेशन सक्षम करें
इसके बाद, आपको अपने प्रोजेक्ट में EF कोर माइग्रेशन को सक्षम करना होगा। ऐसा करने के लिए, पैकेज प्रबंधक कंसोल खोलें और निम्न आदेश दर्ज करें:
PM> Install-Package Microsoft.EntityFrameworkCore.Tools
इस पैकेज में EF कोर माइग्रेशन बनाने और प्रबंधित करने के लिए आवश्यक टूल हैं।
एक प्रवास बनाएँ
ईएफ कोर माइग्रेशन सक्षम होने के साथ, आप अपना पहला माइग्रेशन बना सकते हैं। माइग्रेशन बनाने के लिए, पैकेज मैनेजर कंसोल खोलें और निम्नलिखित कमांड दर्ज करें:
PM> Add-Migration InitialCreate
यह "InitialCreate" नामक एक नया माइग्रेशन बनाएगा जो आपके द्वारा अपने डेटाबेस मॉडल में किए गए परिवर्तनों का वर्णन करता है। आप अपने प्रोजेक्ट के "माइग्रेशन" फ़ोल्डर में माइग्रेशन की सामग्री देख सकते हैं।
डेटाबेस को अपडेट करें
माइग्रेशन बनाने के बाद, आप नए मॉडल से मेल खाने के लिए डेटाबेस स्कीमा को अपडेट कर सकते हैं। ऐसा करने के लिए, पैकेज प्रबंधक कंसोल खोलें और निम्न आदेश दर्ज करें:
PM> Update-Database
यह डेटाबेस में माइग्रेशन लागू करेगा और इसकी स्कीमा को अपडेट करेगा।
आइए EF कोर माइग्रेशन का उपयोग करने का एक उदाहरण देखें। मान लीजिए हम दो कॉलम के साथ एक सरल "छात्र" तालिका बनाना चाहते हैं: "आईडी" और "नाम"। हम Visual Studio में एक नया ASP.NET कोर वेब एप्लिकेशन प्रोजेक्ट बनाकर शुरुआत करेंगे।
एक नया ईएफ कोर प्रोजेक्ट बनाएं। विजुअल स्टूडियो में एक नया ASP.NET कोर वेब एप्लीकेशन प्रोजेक्ट बनाएं। "वेब एप्लिकेशन (मॉडल-व्यू-कंट्रोलर)" टेम्पलेट चुनें, और प्रमाणीकरण के लिए "व्यक्तिगत उपयोगकर्ता खाते" चुनें। प्रोजेक्ट का नाम "EFCoreMigrationsExample" रखें।
एक डेटाबेस संदर्भ बनाएँ। प्रोजेक्ट के "मॉडल" फ़ोल्डर में "MyDbContext" नामक एक नया वर्ग बनाएँ, और इसे DbContext वर्ग से इनहेरिट करें।
using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }
"छात्र" संपत्ति एक डीबीसेट है जो हमारे डेटाबेस की "छात्र" तालिका का प्रतिनिधित्व करती है।
एक डेटाबेस मॉडल बनाएँ
प्रोजेक्ट के "मॉडल" फ़ोल्डर में एक नया "छात्र" वर्ग बनाएँ, और इसके गुणों को परिभाषित करें।
namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }
ईएफ कोर माइग्रेशन सक्षम करें
पैकेज मैनेजर कंसोल खोलें और ईएफ कोर टूल्स पैकेज को स्थापित करने के लिए निम्न आदेश दर्ज करें:
PM> Install-Package Microsoft.EntityFrameworkCore.Tools
एक प्रवास बनाएँ
पैकेज मैनेजर कंसोल खोलें, और माइग्रेशन बनाने के लिए निम्न आदेश दर्ज करें:
PM> Add-Migration InitialCreate
यह "InitialCreate" नामक एक नया माइग्रेशन बनाएगा जो हमारे द्वारा अपने डेटाबेस मॉडल में किए गए परिवर्तनों का वर्णन करता है।
माइग्रेशन फ़ाइल इस तरह दिखनी चाहिए:
using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } }
माइग्रेशन "आईडी" और "नाम" के लिए कॉलम के साथ "छात्र" नामक एक नई तालिका बनाता है।
डेटाबेस अपडेट करें पैकेज मैनेजर कंसोल खोलें, और डेटाबेस स्कीमा को अपडेट करने के लिए निम्न आदेश दर्ज करें:
PM> Update-Database
यह डेटाबेस में माइग्रेशन लागू करेगा और इसकी स्कीमा को अपडेट करेगा।
अब हम EF Core का उपयोग करके अपने डेटाबेस में छात्रों को जोड़, अपडेट और हटा सकते हैं। उदाहरण के लिए, हम इस तरह डेटाबेस में एक नया छात्र जोड़ सकते हैं:
using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } }
यह कोड छात्र वर्ग का एक नया उदाहरण बनाता है और इसकी नाम संपत्ति को "जॉन" पर सेट करता है। इसके बाद यह छात्र को छात्र डीबीसेट में जोड़ता है और डेटाबेस में परिवर्तनों को सहेजता है।
ईएफ कोर माइग्रेशन आपके आवेदन में डेटाबेस स्कीमा परिवर्तनों को प्रबंधित करने का एक सुविधाजनक तरीका प्रदान करता है।
यह आलेख दिखाता है कि EF कोर माइग्रेशन का उपयोग करके एक साधारण डेटाबेस स्कीमा कैसे बनाया जाए, जिसमें DbContext बनाना, मॉडल को परिभाषित करना, माइग्रेशन करना और डेटाबेस स्कीमा को अपडेट करना शामिल है।
EF Core क्या कर सकता है, यह तो बस उसकी शुरुआत है। आप EF Core का उपयोग डेटा की क्वेरी और हेरफेर करने, तालिकाओं के बीच जटिल संबंध बनाने, और बहुत कुछ करने के लिए कर सकते हैं। इसके उपयोग में आसानी और सुविधाओं की विस्तृत श्रृंखला के साथ, EF Core .NET में डेटा-संचालित अनुप्रयोगों के निर्माण के लिए एक उत्कृष्ट विकल्प है।
इस लेख ने आपको EF कोर माइग्रेशन शुरू करने में मदद की है। यदि आपके कोई प्रश्न या टिप्पणी हैं, तो कृपया उन्हें नीचे छोड़ दें। हैप्पी कोडिंग!
सी# प्रकाशन , लिंक्डइन , इंस्टाग्राम , ट्विटर , Dev.to
यहाँ भी प्रकाशित हुआ