📅  最后修改于: 2023-12-03 15:00:36.394000             🧑  作者: Mango
Entity Framework是一个ORM框架,是.NET框架的一部分。它允许开发者以面向对象的方式操作数据库。
可以通过以下两种方法安装Entity Framework。
右键点击项目,在"管理NuGet程序包"中搜索"Entity Framework",点击安装即可。
在NuGet控制台中输入以下命令,将自动安装最新版的Entity Framework:
Install-Package EntityFramework
数据库模型优选适用于已经有现有数据库的情况。可以使用Entity Framework Power Tools插件中的Reverse Engineer功能来自动生成模型。
代码优先适用于从头开始创建数据库的情况。我们需要创建一个继承自DbContext的类,并在其中声明实体类和数据库集合。
public class MyContext : DbContext
{
public DbSet<User> Users { get; set; }
}
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
using (var context = new MyContext())
{
// 添加到数据库
var user = new User(){ Name = "Tom", Age = 18 };
context.Users.Add(user);
context.SaveChanges();
// 更新
user.Age = 20;
context.SaveChanges();
// 删除
context.Users.Remove(user);
context.SaveChanges();
// 查询所有
var users = context.Users.ToList();
// 根据条件查询
var filteredUsers = context.Users.Where(u => u.Age > 18).ToList();
}
Entity Framework支持多种类型的关系,如一对一、一对多和多对多等。 在Code First中,可以使用Fluent API或数据注解来定义实体之间的关系。
默认情况下,Entity Framework会使用惰性加载来延迟加载导航属性。这意味着当访问导航属性时,它才会加载相关的实体。可以使用Include方法来强制加载相关实体。
var user = context.Users.Include(u => u.Roles).FirstOrDefault();
可以在需要时使用显式加载来加载相关实体。
var user = context.Users.FirstOrDefault();
context.Entry(user).Collection(u => u.Roles).Load();
本文介绍了Entity Framework的使用方法,包括安装、创建数据库模型和使用。同时提到了其他一些功能,如关系、惰性加载和显式加载。Entity Framework是一个强大的ORM框架,可以方便地进行数据库操作。