【.Net-EF】用于快速回顾 - 0
因为平时不做这方面项目,所以学了好几次,过了段时间就忘,特地写笔记用于快速回顾
这一篇是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();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律