温馨提示×

c#实体类与数据库表映射

c#
小樊
131
2024-07-22 20:51:07
栏目: 编程语言

在C#中,可以使用Entity Framework来实现实体类与数据库表的映射。Entity Framework是一个ORM(对象关系映射)框架,它可以帮助开发者将实体类和数据库表进行自动映射,从而简化开发流程。

以下是一个简单示例,演示如何使用Entity Framework来实现实体类与数据库表的映射:

  1. 创建一个实体类:
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}
  1. 创建一个DbContext类并在其中定义实体类与数据库表的映射关系:
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. 在应用程序中使用DbContext来操作数据库表:
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}");
            }
        }
    }
}

通过以上步骤,我们成功实现了实体类Product与数据库表Products的映射,并能够对数据进行增删改查操作。在实际开发中,可以根据需要定义更多的实体类和DbContext,以实现更复杂的数据库操作。

0