EF Core创建
一、SQL server数据库:
1、安装get包:(1)、Microsoft.EntityFrameworkCore
(2)、Microsoft.EntityFrameworkCore.Tools
(3)、Microsoft.EntityFrameworkCore.sqlServer.Design
(4)、Microsoft.EntityFrameworkCore.sqlServer
2、工具--> NuGet包管理—>程序包管理器控制台
3、在控制台中输入:Scaffold-DbContext "Data Source=.;Initial Catalog=BroadcastScreen;Persist Security Info=True;User ID=*******;Password=********" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models!!!
Scaffold-DbContext "Data Source=.;Initial Catalog=BroadcastScreen;Persist Security Info=True;User ID=链接数据库的用户名;Password=连接数据库的密码" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 存放文件的文件名
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、MySQL 数据库:
1、安装get包:(1)、Microsoft.EntityFrameworkCore
(2)、Pomelo.EntityFrameworkCore.MySql (5.0.0-alpha.2)
(3)、Microsoft.Bcl.AsyncInterfaces
2、工具--> NuGet包管理—>程序包管理器控制台
3、在控制台中输入:Scaffold-DbContext 'Server=********;Port=3306;Database=scgj_test;Uid=root;Pwd=root;' Pomelo.EntityFrameworkCore.MySql -OutputDir DTO -Table gj_score_record!!
Scaffold-DbContext 'Server=localhost/ip地址;Port=3306;Database=数据库名;Uid=名称;Pwd=密码;' Pomelo.EntityFrameworkCore.MySql -OutputDir 存放文件的文件名 -Table 更新的数据库表
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、Oracle 数据库:
1、安装get包:(1)、Oracle.EntityFrameworkCore
2、工具--> NuGet包管理—>程序包管理器控制台
3、在控制台中输入:
DbContext "Data Source=123;Password=123;User ID=123;" Oracle.EntityFrameworkCore -OutputDir Entity -context aaaContext
解释一下,各个数据库都通用,前面是关键词,引号里是连接字符串,后面跟着的是对应数据库的EF包,
-OutputDir 要在其中放置文件的目录。 路径相对于项目目录。没有会自动创建
-context 是生成的上下文名称
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、改造连接数据库的字符串(意义:方便以后维护)
1、下载Utils程序集(Utils.dll):读取连接数据的字符串操作
2、上面使用ef的方式获取了DTO文件,在DTO文件中有一个特殊的文件*****Context.cs
文件把直接连接字符串的操作改成读取appsettings.json中的配置
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { // optionsBuilder.UseSqlServer("Server=********;Database=******;User Id=sa;Password=*******;"); optionsBuilder.UseSqlServer(Utils.ConfigUtil.GetConnectionString("Default")); } }
3、appsettings.json中的配置:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
//"MySQL": "server=192.168.1.22;userid=root;password=xxxxxx;database=test;"
"Default": "Server=*******;Database=******;User Id=sa;Password=8******;"
}
}