C# 语言 如何使用 Entity Framework Core

C#阿木 发布于 6 天前 4 次阅读


使用 Entity Framework Core 进行 C 数据库操作

Entity Framework Core(EF Core)是微软推出的一款开源、跨平台的对象关系映射(ORM)框架,它允许开发者使用 C 语言来操作数据库。EF Core 通过将数据库表映射为 C 类,简化了数据库操作,提高了开发效率。本文将围绕如何使用 Entity Framework Core 进行 C 数据库操作,从基本概念、配置、模型定义、数据操作等方面进行详细介绍。

一、EF Core 基本概念

1. ORM 框架

ORM 框架是一种将对象模型与数据库模型进行映射的技术,它允许开发者使用面向对象的方式来操作数据库。EF Core 作为 ORM 框架,将数据库表映射为 C 类,实现了对象与数据库之间的交互。

2. 实体(Entity)

实体是数据库表在 C 中的映射,它代表了一个数据库表中的行。实体类通常包含属性、导航属性和关系等。

3. 实体框架核心(EF Core)

EF Core 是 Entity Framework 的最新版本,它具有以下特点:

- 开源、跨平台
- 支持多种数据库
- 易于使用和扩展
- 支持多种编程语言

二、EF Core 配置

1. 安装 NuGet 包

在 Visual Studio 中,打开项目,在“包管理器”中搜索并安装以下 NuGet 包:

- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.SqlServer

2. 配置数据库连接字符串

在 `appsettings.json` 文件中配置数据库连接字符串:

json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}

3. 配置依赖注入

在 `Startup.cs` 文件中,配置依赖注入:

csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}

三、模型定义

1. 实体类

定义实体类,映射数据库表:

csharp
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}

2. 导航属性

定义导航属性,表示实体之间的关系:

csharp
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public ICollection Courses { get; set; }
}

3. 数据库上下文

定义数据库上下文类,继承自 `DbContext`:

csharp
public class MyDbContext : DbContext
{
public DbSet Students { get; set; }
public DbSet Courses { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
}
}

四、数据操作

1. 添加数据

csharp
using (var context = new MyDbContext())
{
var student = new Student
{
Name = "张三",
Age = 20
};
context.Students.Add(student);
context.SaveChanges();
}

2. 查询数据

csharp
using (var context = new MyDbContext())
{
var student = context.Students.FirstOrDefault(s => s.Id == 1);
Console.WriteLine(student.Name);
}

3. 更新数据

csharp
using (var context = new MyDbContext())
{
var student = context.Students.FirstOrDefault(s => s.Id == 1);
student.Age = 21;
context.SaveChanges();
}

4. 删除数据

csharp
using (var context = new MyDbContext())
{
var student = context.Students.FirstOrDefault(s => s.Id == 1);
context.Students.Remove(student);
context.SaveChanges();
}

五、总结

本文介绍了如何使用 Entity Framework Core 进行 C 数据库操作,包括基本概念、配置、模型定义和数据操作等方面。通过学习本文,开发者可以快速掌握 EF Core 的使用方法,提高数据库操作效率。在实际开发过程中,EF Core 可以帮助开发者更好地管理数据库,降低数据库操作难度,提高代码质量。