Entity Framework(EF)是一个流行的对象关系映射(ORM)框架,它允许开发人员通过使用对象模型来访问和操作数据库。在 .NET 5 中,EF 框架有一些新特性和改进。下面是 EF 框架在 .NET 5 中的详细用法:
安装 Entity Framework Core:在 .NET 5 中,EF 核心已经合并到了 .NET Core 中,所以你只需要引用 Microsoft.EntityFrameworkCore 包即可。
创建数据模型:使用 C# 类来表示数据库表和关系。你可以使用注解或 Fluent API 来定义实体之间的关系、主键、外键等。例如:
csharp
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
创建数据库上下文:数据库上下文是 EF 框架与数据库之间的桥梁。你需要创建一个继承自 DbContext 的类,并将你的实体类集合作为属性添加到上下文中。例如:
csharp
public class MyDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// 配置数据库连接
optionsBuilder.UseSqlServer("your_connection_string");
}
}
进行数据库迁移:EF 框架使用迁移来创建和更新数据库架构。你可以使用 dotnet ef 命令行工具来执行迁移操作。例如:
powershell
bash
dotnet ef migrations add InitialCreate
dotnet ef database update
使用 EF 进行数据访问:你可以在应用程序中使用上下文来查询和操作数据库。例如:
csharp
//依赖注入方式
public class AppServiceTest{
private readonly MyDbContext _context;
public AppServiceTest(
MyDbContext context)
{
this._context = context;
}
public dynamic get(){
var products = _context.Products.ToList();
// 查询所有产品
var product = _context.Products.FirstOrDefault(p => p.Name == "Product 1");
// 查询名称为 "Product 1" 的产品
}
}
//或者实例化对象
using (var context = new MyDbContext())
{
var products = context.Products.ToList();
// 查询所有产品
var product = context.Products.FirstOrDefault(p => p.Name == "Product 1");
// 查询名称为 "Product 1" 的产品
}
这些是 EF 在 .NET 5 中的一些基本用法。你可以进一步探索 EF 框架的高级功能,如数据关系、数据迁移、查询等。官方文档提供了更详细的用法和示例,你可以参考官方文档进行更深入的学习和实践。