📜  Entity Framework教程(1)

📅  最后修改于: 2023-12-03 15:30:37.631000             🧑  作者: Mango

Entity Framework 教程

什么是 Entity Framework

Entity Framework 是一个 ORM(Object-Relational Mapping)框架,可以用它来操作数据库。它可以让开发者通过面向对象的方式来操作关系型数据库。

同时,Entity Framework 对开发者而言也提供了更加方便的开发方式:减少了编写 SQL 语句的负担,同时也简化了和数据库的交互,让开发者能够快速地开发数据相关的应用程序。

安装

安装 Entity Framework 的步骤如下:

  1. 打开 Visual Studio ,进入 NuGet 包管理器(NuGet 包管理器可以通过搜索框在 Visual Studio 的顶部中找到)。

  2. 在搜索框中输入 Entity Framework ,点击搜索按钮。

  3. 在搜索结果中找到 EntityFramework ,点击安装按钮。

PM> Install-Package EntityFramework
使用 Entity Framework
创建上下文

在使用 Entity Framework 之前,需要先创建一个 DbContext(上下文)类,它的作用是连接数据库和实体类。以下是创建 DbContext 类的步骤:

  1. 创建一个类,继承自 DbContext 类。
public class MyContext : DbContext
{
    public DbSet<MyEntity> MyEntities { get; set; }
}

上面的代码创建了一个名为 MyContext 的上下文,它定义了一个名为 MyEntities 的 DbSet 属性,类型是 MyEntity 实体类。

  1. 添加数据库连接字符串。

在应用程序的配置文件(一般是 app.config)中添加数据库连接字符串。如 SQLite 数据库的连接字符串例如:

<connectionStrings>
    <add name="MyContext" connectionString="data source=mydatabase.db"/>
</connectionStrings>

注意:为了使用 SQLite 数据库,需要在 NuGet 包管理器中搜索 SQLite ,然后安装 System.Data.SQLite 包。

创建实体类

实体类是映射到数据库中的表的定义。如果你想操作数据库中的数据,就需要先定义这个实体类。以下是定义实体类的步骤:

  1. 创建一个类,与数据库中的表有相同的列名和属性名。
public class MyEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
  1. 在 DbContext 中添加一个 DbSet 属性,关联到这个实体类。

如上面创建 MyContext 类时的 MyEntities 属性。

查询数据

以下是查询数据的步骤:

  1. 创建一个 DbContext 实例,连接到数据库。
using(var context = new MyContext()) {

}
  1. 使用 Linq 查询语句。
using(var context = new MyContext()) {
    var entities = from e in context.MyEntities
                   where e.Age >= 18
                   select e;
    foreach (var entity in entities) {
        Console.WriteLine(entity.Name);
    }
}
插入数据

以下是插入数据的步骤:

  1. 创建实体类的实例。
var entity = new MyEntity() {
    Name = "Tom",
    Age = 18
};
  1. 把实体类添加到上下文中。
using(var context = new MyContext()) {
    context.MyEntities.Add(entity);
    context.SaveChanges();
}
更新数据

以下是更新数据的步骤:

  1. 查询数据并修改属性值。
using(var context = new MyContext()) {
    var entity = context.MyEntities.First(e => e.Id == 1);
    entity.Age = 20;
    // ...
}
  1. 调用上下文的 SaveChanges 方法保存更改。
using(var context = new MyContext()) {
    var entity = context.MyEntities.First(e => e.Id == 1);
    entity.Age = 20;
    context.SaveChanges();
}
删除数据

以下是删除数据的步骤:

  1. 查询数据并从上下文中删除实体类。
using(var context = new MyContext()) {
    var entity = context.MyEntities.First(e => e.Id == 1);
    context.MyEntities.Remove(entity);
    context.SaveChanges();
}

以上就是 Entity Framework 的基本使用方式,通过使用 Entity Framework 可以大大提高开发效率和减少代码量,同时也更加方便地维护应用程序。