EF Core এর পরিচিতি এবং সেটআপ

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) Entity Framework Core (EF Core) |
218
218

Entity Framework Core (EF Core) হলো .NET Core-এর জন্য একটি ওপেন সোর্স ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক, যা ডেটাবেসে অবজেক্ট এবং ডেটা টেবিলের মধ্যে সম্পর্ক তৈরি এবং পরিচালনা করতে ব্যবহৃত হয়। EF Core ডেটাবেস পরিচালনা সহজ এবং কার্যকরী করে, এবং ডেভেলপারদের SQL কোড লেখার পরিবর্তে C# কোড ব্যবহার করে ডেটাবেস অপারেশন করতে সহায়তা করে।

EF Core আপনাকে ডেটাবেসের সাথে যোগাযোগ করতে LINQ (Language Integrated Query) ব্যবহার করে ডেটা কুয়েরি করতে দেয় এবং এতে Code First এবং Database First দুটি অ্যাপ্রোচ ব্যবহারের সুবিধা রয়েছে।


EF Core এর প্রধান বৈশিষ্ট্যসমূহ

  • O/R Mapping: EF Core ডেটাবেস টেবিলগুলিকে সি# ক্লাসে ম্যাপ করে এবং ডেটাবেস অপারেশন সম্পাদন করে।
  • Code First: ডেভেলপাররা প্রথমে কোড লিখে মডেল তৈরি করে, তারপর EF Core স্বয়ংক্রিয়ভাবে ডেটাবেস তৈরি করে।
  • Database First: ইতিমধ্যে বিদ্যমান ডেটাবেসের ওপর ভিত্তি করে কোড তৈরি করা যায়।
  • LINQ সমর্থন: EF Core LINQ কুয়েরি সমর্থন করে, যা ডেটাবেসের ডেটাকে আরও সহজে এবং কার্যকরভাবে কুয়েরি করতে সহায়তা করে।
  • মাইগ্রেশন: EF Core ডেটাবেসের স্কিমা আপডেট করতে ডেটাবেস মাইগ্রেশন ব্যবহারের সুবিধা দেয়।
  • ক্রস-প্ল্যাটফর্ম সাপোর্ট: EF Core Windows, macOS এবং Linux এর উপর কাজ করতে সক্ষম।
  • অ্যানোটেশন: Model Validation এবং ডেটা অ্যানোটেশন ব্যবহার করে ডেটাবেসে ভ্যালিডেশন চালানো যায়।

EF Core-এর কাজ করার ধারণা

EF Core ডেটাবেসের সাথে যোগাযোগ করতে DbContext এবং DbSet ক্লাস ব্যবহার করে। DbContext হলো EF Core-এর প্রধান ক্লাস, যা ডেটাবেসের টেবিলগুলির সাথে যোগাযোগ স্থাপন করে এবং DbSet হলো একটি ডেটাবেস টেবিলের প্রতিনিধিত্বকারী কনটেইনার ক্লাস।

DbContext:

DbContext হলো EF Core-এর মাধ্যমে ডেটাবেস অপারেশন পরিচালনা করা ক্লাস। এটি ডেটাবেসের টেবিলগুলোর সাথে সম্পর্কযুক্ত ক্লাসগুলির ডেটাকে ম্যানেজ করে।

DbSet:

DbSet হলো ডেটাবেসের টেবিলের প্রতিনিধিত্বকারী ক্লাস, যেখানে আপনি ডেটার CRUD (Create, Read, Update, Delete) অপারেশন করতে পারেন।


EF Core সেটআপ করা

EF Core সেটআপ করার জন্য আপনাকে প্রথমে NuGet প্যাকেজ ইনস্টল করতে হবে এবং কিছু কনফিগারেশন করতে হবে।

1. NuGet প্যাকেজ ইনস্টল করা

EF Core ব্যবহারের জন্য আপনাকে আপনার ASP.NET Core প্রজেক্টে EF Core প্যাকেজ ইনস্টল করতে হবে। আপনি NuGet Package Manager বা Command Line ব্যবহার করে এই প্যাকেজ ইনস্টল করতে পারেন।

Command Line ব্যবহার করে EF Core ইনস্টল করা:

  • ডটনেট ডাটাবেসের সাথে সংযোগ স্থাপনের জন্য ডাটাবেস প্রোভাইডারের প্যাকেজ ইনস্টল করতে হবে, যেমন SQL Server:

    dotnet add package Microsoft.EntityFrameworkCore.SqlServer
    
  • ডেটাবেস মাইগ্রেশন পরিচালনার জন্য Tools প্যাকেজ ইনস্টল করতে হবে:

    dotnet add package Microsoft.EntityFrameworkCore.Tools
    

2. DbContext ক্লাস তৈরি করা

EF Core ব্যবহারের জন্য প্রথমে একটি DbContext ক্লাস তৈরি করতে হবে, যা ডেটাবেসের টেবিলগুলোর সাথে সম্পর্ক স্থাপন করবে।

using Microsoft.EntityFrameworkCore;

public class ApplicationDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) 
        : base(options)
    {
    }
}

এখানে, Products হলো ডেটাবেসের টেবিলের প্রতিনিধিত্বকারী একটি DbSet যা Product ক্লাসের উপর ভিত্তি করে তৈরি হয়েছে।

3. মডেল ক্লাস তৈরি করা

ডেটাবেসের টেবিলের প্রতিনিধিত্ব করার জন্য একটি মডেল ক্লাস তৈরি করতে হবে। উদাহরণস্বরূপ, Product ক্লাস:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

এখানে, Product ক্লাস একটি টেবিলের প্রতিনিধিত্ব করছে, যেখানে Id, Name, এবং Price হলো টেবিলের কলাম।

4. ডাটাবেস কনফিগারেশন করা

এখন DbContext ক্লাসটি কনফিগার করতে হবে, যা Startup.cs ফাইলে করা হয়।

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}

এখানে, UseSqlServer মেথডের মাধ্যমে SQL Server ব্যবহার করা হয়েছে এবং কনফিগারেশন ফাইলে থাকা DefaultConnection কনেকশন স্ট্রিং ব্যবহার করা হয়েছে।

5. ডেটাবেস মাইগ্রেশন তৈরি করা

ডেটাবেসের স্কিমা তৈরি করতে Entity Framework Core মাইগ্রেশন ব্যবহার করতে হবে। এটি ডেটাবেসের কাঠামো পরিবর্তন করতে সহায়ক।

  • প্রথমে মাইগ্রেশন তৈরি করুন:

    dotnet ef migrations add InitialCreate
    
  • তারপর ডেটাবেস আপডেট করুন:

    dotnet ef database update
    

এটি ডেটাবেসের স্কিমা তৈরি করবে এবং প্রথম মাইগ্রেশন চালাবে।


EF Core এর মাধ্যমে CRUD অপারেশন

EF Core দিয়ে ডেটাবেসে CRUD অপারেশন করতে DbContext এবং DbSet ব্যবহার করা হয়। উদাহরণস্বরূপ, নতুন Product তৈরি করা:

using (var context = new ApplicationDbContext())
{
    var product = new Product
    {
        Name = "Laptop",
        Price = 1000
    };

    context.Products.Add(product);
    context.SaveChanges();
}

এখানে, Add মেথডের মাধ্যমে একটি নতুন Product ডেটাবেসে যোগ করা হয়েছে এবং SaveChanges() মেথডের মাধ্যমে ডেটাবেসে পরিবর্তন সেভ করা হয়েছে।


EF Core এর সুবিধা

  • বিল্ট-ইন মাইগ্রেশন: EF Core সহজেই ডেটাবেস মাইগ্রেশন পরিচালনা করতে সাহায্য করে।
  • কমপ্লেক্স কোয়েরি সহজ করা: LINQ ব্যবহার করে ডেটাবেসে জটিল কুয়েরি চালানো সহজ হয়।
  • ডেটাবেস অপারেশনকে সহজ করা: ডেভেলপারদের SQL কোড না লিখে ডেটাবেস অপারেশন করার সুবিধা দেয়।
  • ক্রস-প্ল্যাটফর্ম সাপোর্ট: EF Core উইন্ডোজ, ম্যাকওএস এবং লিনাক্সে সমানভাবে কাজ করে।

EF Core .NET Core অ্যাপ্লিকেশন ডেভেলপমেন্টে ডেটাবেস অপারেশন এবং ম্যানেজমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ একটি টুল। এটি ডেভেলপারদের জন্য ডেটাবেস ম্যানেজমেন্ট সহজ এবং কার্যকরী করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion