具有代码优先和自动迁移的实体框架是您可以使用的最简单的 ORM 之一。它很灵活,在 Microsoft 堆栈中得到很好的支持,并且代码优先,这是开发数据库的最快方法之一。
首先使用实体框架代码,将数据模型定义为普通的 C# 类。这将对应于 Product 表:
public Product {
public int Id { get; set; }
public string Name { get; set; }
}
创建数据库上下文。
public MyDbContext : DbContext {
public DbSet<Product> Products { get; set; }
}
将连接字符串添加到 Web.config,并在包管理器控制台中运行命令:
>Enable-Migrations –EnableAutomaticMigrations
>Update-Database
现在您有了一个包含 Products 表的功能数据库。当您对类进行更改时,只需再次运行 Update-Database,它就会为您迁移架构。
添加新产品:
using (var db = new MyDbContex()
{
Product product = new Product() { Id = 1, Name = "Tablet" };
db.Products.Add(product);
db.SaveChanges();
}
查询您的数据变得如此简单:
using (var db = new MyDbContex()
{
// get product with id == 1
Product product = db.Products.Single(p => p.Id == 1);
}
至于存储库模式,它只是一种设计模式。存储库模式有很多不同的变体,但它实际上是将数据存储与数据访问层分开。这使得单元测试更容易,而不必依赖于存在的外部数据库。
从您的评论中编辑:有几种使用 EF 和存储过程的方法。请参阅Entity Framework Code First 是否支持存储过程?和使用存储过程插入数据。