মডেল তৈরি করা

Web Development - এএসপি ডট (ASP.Net) - মডেলস এবং ডাটাবাইন্ডিং |
5
5

ASP.Net অ্যাপ্লিকেশনে Model হলো ডেটা এবং তার লজিকের প্রতিনিধিত্বকারী অংশ। এটি সাধারণত ডাটাবেসের টেবিলগুলোর সাথে সম্পর্কিত থাকে এবং ইউজার ইনপুট বা ডেটা রিট্রিভ করার জন্য ব্যবহৃত হয়। ASP.Net MVC বা ASP.Net Core MVC অ্যাপ্লিকেশনে Model ক্লাসের মাধ্যমে ডেটা ধারণ করা হয়।


মডেল তৈরি করার প্রক্রিয়া

ASP.Net প্রজেক্টে Model তৈরি করতে আপনাকে একটি সাধারণ C# ক্লাস তৈরি করতে হবে, যা আপনার অ্যাপ্লিকেশনের ডেটা স্ট্রাকচার বা ডোমেন অবজেক্টকে প্রতিনিধিত্ব করবে।


১. Model ক্লাস তৈরি করা

১.১ ASP.Net Core MVC এ মডেল তৈরি করা

  1. Models ফোল্ডারে নতুন C# ক্লাস তৈরি করুন।
  2. মডেল ক্লাসে প্রপার্টি গুলি যুক্ত করুন, যা আপনার ডেটাবেসের টেবিলের কলাম বা ফর্মের ইনপুটের সাথে সম্পর্কিত হবে।

উদাহরণ:

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

এখানে, Product ক্লাসটি একটি পণ্য (Product) এর জন্য মডেল, যার মধ্যে চারটি প্রপার্টি রয়েছে: Id, Name, Price, এবং StockQuantity


২. ডেটাবেস সম্পর্কিত মডেল (Entity Framework) তৈরি করা

ASP.Net Core অ্যাপ্লিকেশনে Entity Framework (EF) ব্যবহার করে ডেটাবেস মডেল তৈরি করা হয়। আপনি একটি DbContext ক্লাস ব্যবহার করে ডেটাবেসের সাথে যোগাযোগ করতে পারেন।

২.১ DbContext ক্লাস তৈরি করা

  1. Data ফোল্ডারে একটি ApplicationDbContext ক্লাস তৈরি করুন এবং এতে DbSet<T> প্রপার্টি গুলি অন্তর্ভুক্ত করুন।
using Microsoft.EntityFrameworkCore;

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

    public DbSet<Product> Products { get; set; }
}

এখানে, ApplicationDbContext ক্লাসটি DbContext থেকে ইনহেরিট করে এবং Products নামে একটি DbSet<Product> প্রপার্টি ডিফাইন করা হয়েছে, যা ডেটাবেসের Products টেবিলের প্রতিনিধিত্ব করে।


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

ASP.Net Core অ্যাপ্লিকেশনে DbContext কনফিগার করার জন্য আপনাকে Startup.cs ফাইলে ConfigureServices মেথডে Entity Framework কনফিগার করতে হবে।

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

এখানে, UseSqlServer ব্যবহার করে SQL Server ডাটাবেসের সাথে সংযোগ স্থাপন করা হচ্ছে। আপনি আপনার ডাটাবেস কনফিগারেশন এবং কানেকশন স্ট্রিং appsettings.json ফাইলে সংজ্ঞায়িত করতে পারেন।


৪. ডাটাবেস মাইগ্রেশন (Entity Framework)

মডেল তৈরি করার পরে, Entity Framework এর মাধ্যমে ডেটাবেস তৈরি বা আপডেট করা হয়। এজন্য Migration ব্যবহার করা হয়।

  1. Package Manager Console বা .NET CLI ব্যবহার করে মাইগ্রেশন তৈরি করুন।

Package Manager Console:

Add-Migration InitialCreate
Update-Database

.NET CLI:

dotnet ef migrations add InitialCreate
dotnet ef database update

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


৫. ডেটা ভ্যালিডেশন

ASP.Net MVC বা ASP.Net Core MVC অ্যাপ্লিকেশনে মডেল ক্লাসের মধ্যে Data Annotations ব্যবহার করে ডেটা ভ্যালিডেশন করা যেতে পারে। উদাহরণস্বরূপ, আপনি ফিল্ডগুলোকে আবশ্যক বা নির্দিষ্ট ফরম্যাটে রাখতে পারেন।

public class Product
{
    public int Id { get; set; }

    [Required(ErrorMessage = "Name is required")]
    public string Name { get; set; }

    [Range(0.01, double.MaxValue, ErrorMessage = "Price must be greater than 0")]
    public decimal Price { get; set; }

    [Range(0, int.MaxValue, ErrorMessage = "Stock Quantity cannot be negative")]
    public int StockQuantity { get; set; }
}

এখানে:

  • [Required] এট্রিবিউট দিয়ে Name প্রপার্টি আবশ্যক করা হয়েছে।
  • [Range] এট্রিবিউট দিয়ে Price এবং StockQuantity এর মান সীমাবদ্ধ করা হয়েছে।

সারাংশ

ASP.Net অ্যাপ্লিকেশনে মডেল তৈরি করা একটি গুরুত্বপূর্ণ কাজ, যা ডেটা এবং লজিকের মধ্যে সংযোগ স্থাপন করে। Entity Framework ব্যবহার করে মডেল এবং ডাটাবেস সম্পর্কিত কার্যক্রম সহজভাবে করা যায়। এছাড়া, মডেল ক্লাসে Data Annotations ব্যবহার করে ইনপুট ভ্যালিডেশন সহজ করা সম্ভব।

Content added By
Promotion