一、安装依赖包

1.Microsoft.EntityFrameworkCore

2.Microsoft.EntityFrameworkCore.Tools

3.Microsoft.EntityFrameworkCore.SqlServer

二、模式选择

DBFirst 模式

1.新建数据库脚本并执行

2.打开程序包管理控制台生成DbContext上下文以及实体Model

scaffold-dbcontext "server=.;database=dbfirst;uid=sa;pwd=123456;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

3.配置Startup 类注册DbContext上下文

services.AddDbContext<CodeFirstContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("ConStr"));
});

4.配置appsettings.json文件

"ConnectionStrings": {
"ConStr": "Server=localhost;Database=CodeFirst;Uid=sa;Pwd=Dennis374627149;"
}

5.Controller中依赖注入就可以使用了

private readonly DbContextOptions<CodeFirstContext> _context;

public WeatherForecastController(ILogger<WeatherForecastController> logger, DbContextOptions<CodeFirstContext> context)
{
_logger = logger;
_context = context;
} using (var context = new CodeFirstContext(_context))
{
var model = context.UserEntities.FirstOrDefault(p => p.UserId.Equals("14"));
if (model != null) return model.UpdateTime.ToString();
return "";
}

Code First 模式

1.新建实体类Model

[Table("Users")]
public class UserEntity
{
[Key]
[Required]
[StringLength(32)]
public string UserId { get; set; } [Required]
[StringLength(20)]
public string Name { get; set; }
[StringLength(20)]
public int Age { get; set; }
[StringLength(11)]
public string Tel { get; set; }
[StringLength(11)]
public DateTime Birthday { get; set; } [Required]
public DateTime CreateTime { get; set; }
[Required]
public DateTime UpdateTime { get; set; } = DateTime.Now;
}

2.新建DbContext上下文类,继承DbContext

public class CodeFirstContext:DbContext
{
public CodeFirstContext()
{
}
public CodeFirstContext(DbContextOptions<CodeFirstContext> options) : base(options)
{
}
public DbSet<UserEntity> UserEntities { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
}
}

3.Startup注入和appsettting.json文件同上

4.打开程序包控制台(CodeFirstTest 自定义名称,如提示To undo this action, use Remove-Migration 代表初始化成功)

Add-Migration CodeFirstTest

5.继续(更新最后一次迁移)

update-database

6.迁移完成

最新文章

  1. 二十三、Java基础--------网络编程
  2. 百度地图API 定位一直4.9E-324
  3. PHP基础18:require和include
  4. _CRT_NONSTDC…与_CRT_SECURE…
  5. 谓词(NSPredicate)
  6. php生成图片验证码
  7. hdu 5150 Sit sit sit
  8. 单点登录CAS使用记(三):实现自定义验证用户登录
  9. springmvc工作原理和环境搭建
  10. eclipse 使用maven 创建纯spring mvc项目
  11. php call_user_func和call_user_func_array
  12. spring整合mybatis错误:HTTP Status 404 - xxx-xxx....
  13. SpringMVC 配置
  14. RocketMQ三主三从二命名服务平滑版本升级实操
  15. vs编译OpenGL项目,出现无法打开 源 文件 &quot;gl\glaux.h的解决办法
  16. Retrofit2 完全解析 探索与okhttp之间的关系
  17. k近邻算法(KNN)
  18. OAF系统更新默认LOGO图标和主页环境描述
  19. Linux命令详解----iostat
  20. Java基础-Collection子接口之Set接口

热门文章

  1. Python图像处理丨5种图像处理特效
  2. Window使用PowerShell改文件时间戳
  3. vivo浏览器的神奇操作
  4. Zabbix技术分享——使用docker-compose快速部署zabbix监控系统
  5. [数据结构]哈希拉链法化解冲突+ASL计算
  6. 说说真实Java项目的开发流程,以及面试前的项目准备说辞
  7. MySQL的安装与配置,图形化软件安装,以及IDEA上的配置操作
  8. 自研ORM框架 实现类似EF Core Include 拆分查询 支持自定义条件、排序、选择
  9. CMS可视化---ECharts图表
  10. 基于容器的PaaS混合云的几种形式