EF Core的基本使用
一. Code First From Database
这种方式就要命令行了…(注意:项目中所有的依赖项版本必须一致。)
第一步:建好项目后通过 NuGet 安装所需依赖项:
(1)Microsoft.EntityFrameworkCore —>核心包,不多说
(2)Microsoft.EntityFrameworkCore.Design —>Code First 必备包
(3)Microsoft.EntityFrameworkCore.SqlServer —>Sql Server 驱动
(4)Microsoft.EntityFrameworkCore.SqlServer.Design —>数据库提供程序设计时包(非必须)
(5)Microsoft.EntityFrameworkCore.Tools —>支持 PS 命令的 Code First 工具包
可以右键项目通过管理NuGet程序包的方式安装,也可以通过命令安装(找到VS工具栏 —> NuGet 包管理器 —> 程序包管理控制台):
注意选择默认项目,别装错地方了
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.Tools
Install-package Microsoft.EntityFrameworkCore.Design
Install-package Microsoft.EntityFrameworkCore.SqlServer
Install-package Microsoft.EntityFrameworkCore.SqlServer.Design
第二步:然后继续在程序包管理控制台再输入:
Scaffold-DbContext -Connection "Server=.;Database=LDG_PermissionBase;uid=sa;pwd=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir "Entities"
-OutputDir “Entities” 可不写,EFCore中只能通过命令生成了,不能像以前EF6一样可以鼠标操作生成了,如果加上了则会在项目中添加Entities文件夹,生成的context和实体类都放到Entities文件夹中,如不加,实体则直接生成到项目中
但是这里有一个问题:在LDG_PermissionBaseContext类中的数据库连接字符串是写死的
接下来我们解决这个问题
首先:
然后 :
在Startup文件中添加服务和配置依赖关系
那么:假如数据库的字段或者表改变了怎么办:最简单粗暴的方式:删了重新生成
二. Code First
待更新。。。
EF Core官方教程 https://docs.microsoft.com/zh-cn/ef/core/