📅  最后修改于: 2023-12-03 14:59:24.184000             🧑  作者: Mango
ASP.NET Core - DBContext是通过基于链接字符串的配置管理Entity Framework Core(EF Core)的最常见方式。这个上下文实例允许您查询和保存到数据库。它通常是处理数据的核心类之一。
您需要继承DbContext
类才能创建DBContext。以下是一个使用InMemory数据库提供程序创建DBContext的示例:
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
public DbSet<Customer> Customers { get; set; }
}
其中Customer
是一个简单的实体类:
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public DateTime CreatedAt { get; set; }
}
在Startup.cs
的ConfigureServices
方法中配置数据库:
services.AddDbContext<MyDbContext>(options =>
options.UseInMemoryDatabase("MyDatabase"));
在您的应用程序中使用DBContext时,您将需要注入DBContext。以下是一些使用示例:
public class CustomerController : Controller
{
private readonly MyDbContext _dbContext;
public CustomerController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
public IActionResult Index()
{
var customers = _dbContext.Customers.ToList();
return View(customers);
}
public IActionResult Create()
{
var customer = new Customer
{
FirstName = "John",
LastName = "Doe",
Email = "john.doe@example.com",
CreatedAt = DateTime.Now
};
_dbContext.Customers.Add(customer);
_dbContext.SaveChanges();
return RedirectToAction(nameof(Index));
}
}
在开始使用数据库之前,您需要创建数据库和表。使用EF Core的Migration工具可以轻松地自动执行此操作。
首先,你需要添加EF Core和EF Core工具包到你的项目中。您可以通过以下命令来实现:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools
然后,在使用迁移之前,您需要对DBContext进行配置:
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Configure your entities and relations here
}
}
接下来,使用以下命令创建初始迁移:
dotnet ef migrations add InitialCreate
这会为您的DBContext创建一个包含初始模板的迁移文件。
然后,使用以下命令将迁移应用于数据库:
dotnet ef database update
这会将迁移文件中定义的表结构应用于当前数据库。
通过使用ASP.NET Core - DBContext,您可以轻松地连接到数据库,进行查询和保存数据。此外,使用EF Core的Migration工具,数据库的创建和维护变得非常容易。