ASP.NET Core এ EF DbContext Configure করা

Microsoft Technologies - এন্টিটি ফ্রেমওয়র্ক (Entity Framework) Entity Framework এর সাথে ASP.NET Core Integration |
216
216

Entity Framework Core (EF Core) এর মাধ্যমে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করার জন্য, প্রথমে আপনাকে DbContext কনফিগার করতে হবে। DbContext ক্লাসটি EF Core এর একটি কেন্দ্রীয় অংশ, যা ডেটাবেসের টেবিলগুলোকে সিস্টেমের মডেল ক্লাসে রূপান্তরিত করে। ASP.NET Core অ্যাপ্লিকেশনে EF DbContext কনফিগারেশন বেশ সহজ, তবে এর জন্য কয়েকটি স্টেপ অনুসরণ করতে হয়।

এখানে, ASP.NET Core অ্যাপ্লিকেশনে DbContext কনফিগার করার প্রক্রিয়া ব্যাখ্যা করা হলো।


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

প্রথমেই আপনাকে একটি DbContext ক্লাস তৈরি করতে হবে, যেখানে আপনি ডেটাবেসের টেবিল গুলোকে DbSet<T> এর মাধ্যমে মডেল হিসেবে উল্লেখ করবেন।

ধরা যাক, আপনি একটি Student টেবিলের জন্য DbContext ক্লাস তৈরি করতে চান।

public class ApplicationDbContext : DbContext
{
    public DbSet<Student> Students { get; set; }

    // Constructor to pass options to the base class
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
}

এখানে, DbSet<Student> টেবিলটি আপনার Student মডেল ক্লাসের সাথে সম্পর্কিত। এর মাধ্যমে আপনি Student সম্পর্কিত CRUD অপারেশন পরিচালনা করতে পারবেন।

2. Student মডেল তৈরি করা

এখন Student মডেল ক্লাস তৈরি করতে হবে, যা ডেটাবেস টেবিলের কলামগুলোকে প্রতিনিধিত্ব করবে।

public class Student
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
    public int Age { get; set; }
}

এখানে, Student মডেলটি Id, Name, এবং Age নামে তিনটি প্রপার্টি ধারণ করছে।


3. DbContext কনফিগার করা Startup.cs বা Program.cs

ASP.NET Core অ্যাপ্লিকেশনটি Entity Framework Core কে সঠিকভাবে কনফিগার করার জন্য, আপনাকে Startup.cs বা Program.cs ফাইলে DbContext ইনজেক্ট করতে হবে।

3.1 Startup.cs ফাইলে কনফিগারেশন

ConfigureServices মেথডে আপনি AddDbContext মেথড ব্যবহার করে DbContext কনফিগার করবেন এবং ডেটাবেসের সাথে সংযোগ স্থাপন করবেন।

public void ConfigureServices(IServiceCollection services)
{
    // Set up DbContext with SQL Server connection string
    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    // Other service configurations...
    services.AddControllersWithViews();
}

এখানে, UseSqlServer ব্যবহার করা হয়েছে SQL Server ডেটাবেসের জন্য। আপনি যদি অন্য ডেটাবেস ব্যবহার করেন, যেমন PostgreSQL বা SQLite, তখন সেগুলোর জন্য সংশ্লিষ্ট কনফিগারেশন ব্যবহার করতে হবে।

3.2 appsettings.json ফাইলে ডেটাবেস কানেকশন স্ট্রিং যোগ করা

এখন আপনাকে appsettings.json ফাইলে ডেটাবেস কানেকশন স্ট্রিং যোগ করতে হবে, যাতে DbContext সঠিক ডেটাবেসে সংযোগ স্থাপন করতে পারে।

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=StudentDb;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

এখানে DefaultConnection ডেটাবেসের কানেকশন স্ট্রিং। এটি আপনার অ্যাপ্লিকেশনটির ডেটাবেসের অবস্থান নির্দেশ করবে।


4. মাইগ্রেশন এবং ডেটাবেস আপডেট করা

DbContext কনফিগার করার পর, আপনাকে ডেটাবেসের স্কিমা সিঙ্ক করার জন্য মাইগ্রেশন করতে হবে। প্রথমে, আপনার মডেলগুলোর উপর ভিত্তি করে একটি মাইগ্রেশন তৈরি করুন।

মাইগ্রেশন তৈরি করা:

dotnet ef migrations add InitialCreate

এটি একটি নতুন মাইগ্রেশন তৈরি করবে, যেটি আপনার Student মডেলকে ডেটাবেসের টেবিলের সাথে সিঙ্ক করবে।

ডেটাবেস আপডেট করা:

dotnet ef database update

এটি ডেটাবেসের স্কিমা আপডেট করবে এবং আপনার টেবিলগুলো তৈরি করবে।


5. ডেটাবেসের সাথে CRUD অপারেশন সম্পন্ন করা

এখন আপনি DbContext ক্লাস ব্যবহার করে ডেটাবেসের সাথে CRUD অপারেশন করতে পারবেন। উদাহরণস্বরূপ, একটি StudentService তৈরি করা যেখানে আপনি DbContext ব্যবহার করে ডেটা অ্যাক্সেস করবেন।

public class StudentService
{
    private readonly ApplicationDbContext _context;

    public StudentService(ApplicationDbContext context)
    {
        _context = context;
    }

    public async Task AddStudentAsync(Student student)
    {
        _context.Students.Add(student);
        await _context.SaveChangesAsync();
    }

    public async Task<List<Student>> GetAllStudentsAsync()
    {
        return await _context.Students.ToListAsync();
    }
}

এখানে, AddStudentAsync মেথডের মাধ্যমে নতুন ছাত্র ডেটাবেসে সংরক্ষণ করা হবে এবং GetAllStudentsAsync মেথডের মাধ্যমে সমস্ত ছাত্রের তালিকা পাওয়া যাবে।


সারাংশ

  • DbContext হচ্ছে EF Core এর মাধ্যমে ডেটাবেসের টেবিলের সাথে ইন্টারঅ্যাক্ট করার প্রধান ক্লাস।
  • DbContext কনফিগার করতে ASP.NET Core অ্যাপ্লিকেশনের Startup.cs অথবা Program.cs ফাইলে AddDbContext মেথড ব্যবহার করতে হয়।
  • DbContext ক্লাসে DbSet<T> ব্যবহার করে টেবিলের সাথে ইন্টারঅ্যাক্ট করা হয় এবং ডেটাবেসের পরিবর্তনগুলো মাইগ্রেশন এর মাধ্যমে আপডেট করা হয়।
  • ডেটাবেস কানেকশন স্ট্রিং সাধারণত appsettings.json ফাইলে রাখা হয়।
  • Entity Framework Core এর সাথে ASP.NET Core অ্যাপ্লিকেশন ইন্টিগ্রেট করার ফলে আপনি খুব সহজেই ডেটাবেসের সাথে CRUD অপারেশন করতে পারেন।
common.content_added_by
টপ রেটেড অ্যাপ

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

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

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