溫馨提示×

c#實體類與數(shù)據(jù)庫表映射

c#
小樊
101
2024-07-22 20:51:07
欄目: 編程語言

在C#中,可以使用Entity Framework來實現(xiàn)實體類與數(shù)據(jù)庫表的映射。Entity Framework是一個ORM(對象關(guān)系映射)框架,它可以幫助開發(fā)者將實體類和數(shù)據(jù)庫表進行自動映射,從而簡化開發(fā)流程。

以下是一個簡單示例,演示如何使用Entity Framework來實現(xiàn)實體類與數(shù)據(jù)庫表的映射:

  1. 創(chuàng)建一個實體類:
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}
  1. 創(chuàng)建一個DbContext類并在其中定義實體類與數(shù)據(jù)庫表的映射關(guān)系:
public class MyDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Product>().ToTable("Products");
        modelBuilder.Entity<Product>().HasKey(p => p.Id);
        modelBuilder.Entity<Product>().Property(p => p.Name).IsRequired();
        modelBuilder.Entity<Product>().Property(p => p.Price).HasColumnType("decimal(18, 2)");
    }
}
  1. 在應(yīng)用程序中使用DbContext來操作數(shù)據(jù)庫表:
class Program
{
    static void Main(string[] args)
    {
        using (var context = new MyDbContext())
        {
            // 添加一條記錄
            var product = new Product { Name = "Product1", Price = 10.99m };
            context.Products.Add(product);
            context.SaveChanges();

            // 查詢所有記錄
            var products = context.Products.ToList();
            foreach (var p in products)
            {
                Console.WriteLine($"Id: {p.Id}, Name: {p.Name}, Price: {p.Price}");
            }
        }
    }
}

通過以上步驟,我們成功實現(xiàn)了實體類Product與數(shù)據(jù)庫表Products的映射,并能夠?qū)?shù)據(jù)進行增刪改查操作。在實際開發(fā)中,可以根據(jù)需要定義更多的實體類和DbContext,以實現(xiàn)更復(fù)雜的數(shù)據(jù)庫操作。

0