📜  Entity Framework-数据库操作(1)

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

Entity Framework-数据库操作

Entity Framework 是 .NET 框架中的一个对象关系映射(ORM)工具,可简化开发者在应用程序中访问数据库的任务。通过 Entity Framework,开发者可以使用代码来操作数据库,而无需编写 SQL 查询语句。本文将介绍 Entity Framework 的数据库操作。

创建数据库上下文

在使用 Entity Framework 执行数据库操作之前,我们需要创建一个继承自 DbContext 类的类,该类表示要访问的数据库,同时包含一组表示数据库的 DbSet<T> 属性。示例如下:

public class MyDbContext : DbContext
{
    public DbSet<Customer> Customers { get; set; }
    public DbSet<Order> Orders { get; set; }

    public MyDbContext(string connectionString) : base(connectionString)
    {
    }
}

在上面的示例中,我们为 MyDbContext 类定义了两个 DbSet 属性,其中一个是 Customers,它表示 Customer 实体对应的数据表,另一个是 Orders,它表示 Order 实体对应的数据表。需要注意的是,我们的 MyDbContext 类应执行基类的构造函数,以指定要使用的数据库连接字符串。

添加实体

添加实体到数据库中的过程简单而直观。我们可以使用 DbSet<T>.Add() 方法将新实体添加到数据库中。示例如下:

var customer = new Customer
{
    Name = "张三",
    Age = 30,
    Email = "zhangsan@example.com"
};

using (var context = new MyDbContext(connectionString))
{
    context.Customers.Add(customer);
    context.SaveChanges();
}

在上面的示例中,我们创建了一个 Customer 实体并将其添加到 MyDbContext 类示例 context 中。然后,我们执行 SaveChanges() 方法以将更改保存到数据库中。

查询实体

我们可以使用 Linq 查询表达式来从数据库中查询实体。例如,以下代码查询 Customers 表中所有的实体:

using (var context = new MyDbContext(connectionString))
{
    var customers = context.Customers.ToList();
}

在上面的示例中,我们查询了 Customers 表中的所有实体,并将它们存储在 customers 变量中。需要注意的是,我们使用了 ToList() 方法来立即加载实体,这将导致查询尽可能快地执行。如果我们不使用该方法,查询不会立即执行,而是在迭代集合时按需执行。

删除实体

我们可以使用 DbSet<T>.Remove() 方法将实体从数据库中删除。示例如下:

using (var context = new MyDbContext(connectionString))
{
    var customer = context.Customers.Find(1);
    context.Customers.Remove(customer);
    context.SaveChanges();
}

在上面的示例中,我们从 MyDbContext 类中查询一个 Customer 实体,并将其删除。然后,我们执行 SaveChanges() 方法以保存更改。

更新实体

我们可以使用以下代码更新数据库中的实体:

using (var context = new MyDbContext(connectionString))
{
    var customer = context.Customers.Find(1);
    customer.Name = "李四";
    context.SaveChanges();
}

在上面的示例中,我们从 MyDbContext 类中查询一个 Customer 实体,并将其名称更改为“李四”。然后,我们执行 SaveChanges() 方法以保存更改。

总结

在本文中,我们学习了如何使用 Entity Framework 执行数据库操作。我们创建了一个 MyDbContext 类,用于表示要访问的数据库,并包含一组 DbSet<T> 属性。我们了解了如何添加、查询、删除和更新实体,这是使用 Entity Framework 进行数据库操作的重要方面。