因为平时不做这方面项目,所以学了好几次,过了段时间就忘,特地写笔记用于快速回顾
这一篇是EFCore简单的使用,主要内容是:
- 通过控制台项目来学习
- 依赖/数据库SqlServer
- 创建2个Model,User和Role,1个User可有多个Role
- 创建继承自DbContext的类,使用上面2个Model
- 迁移、更新命令
- 简单的CRUD
STEP 1
根据项目的.net版本,安装以下对应版本的依赖
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.Design
STEP 2
- 创建文件夹用于放Model,文件夹可以命名为Models
- 在Models中添加User类和Role类内容如下
internal class User
{
//可以用[Key]指定某个属性为主键,默认以Id或者类名+Id比如UserId为主键
public int Id { get; set; }
public string Name { get; set; }
public string? PhoneNumber { get; set; }
public ICollection<Role> Roles { get; set; }
}
internal class Role
{
public int Id { get; set; }
public string Name { get; set; }
public User User { get; set; }
public int UserId { get; set; }
}
STEP 3
- 创建一个文件夹用于放Context
- 在此文件夹中创建一个类,继承DbContext
internal class EFDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseSqlServer("这里写数据库连接地址");
}
}
STEP 4
- 使用 add-migration 自定义内容 生成迁移代码
- 使用 update-database(创建)更新到数据库
STEP 5
var _context = new EFDbContext();
//假设这里new了一些user和role
//......
//增加
_context.Add(user);
//也可以 : _context.Users.Add(user);
//查/改/删除
_context.Users.FirstOrDefault();
_context.Users.Include(x=>x.Roles).FirstOrDefault();
_context.Users.Update(user);
_context.Users.Remove(user);
//保存
_context.SaveChanges();
标签:set,Users,回顾,get,EF,User,context,Net,public
From: https://www.cnblogs.com/flashing-magic/p/17670669.html