.NET框架 - NETCORE + API + EFCORE + MYSQL
1. 新建項目:
本文中使用 框架 .netcore2.2 。html
2. 生成項目框架
3 安裝MYSQL插件
點擊「工具」->「NuGet包管理器」->「程序包管理器控制檯」mysql
安裝命令:install-package <程序包名> -version <版本號>web
分別安裝如下幾個包sql
Mysql 版本:數據庫
Install-Package MySql.Data.EntityFrameworkCore -Pre Install-Package Pomelo.EntityFrameworkCore.MySql Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
Sql server 版本:json
Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
2.在程序包包管理器控制檯 中執行如下語句生成 實體類
--mysql 版本:app
Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force 或者 Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -UseDatabaseNames -Force
--sql server 版本框架
Scaffold-DbContext "Data Source=.;Initial Catalog=EFCore_dbfirst;User ID=sa;Password=sa.123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
參數說明:asp.net
-OutputDir *** 實體文件所存放的文件目錄 -ContextDir *** DbContext文件存放的目錄 -Context *** DbContext文件名 -Schemas *** 須要生成實體數據的數據表所在的模式 -Tables *** 須要生成實體數據的數據表的集合 -DataAnnotations -UseDatabaseNames 直接使用數據庫中的表名和列名(某些版本不支持) -Force 強制執行,重寫已經存在的實體文件
4. 配置DBContext
ASP.NET Core 應用程序鏈接字符串是寫死在ConfigureServices代碼中,下面介紹經過配置來實現。鏈接字符串能夠存儲在 appsettings.json
、用戶機密存儲、其餘配置源中。 下面示例演示appsettings.json
中存儲的鏈接字符串,這樣無論asp.net core在什麼環境(Development、Staging 、Production)都能調用該文件。工具
生成的DBContext中是包含數據庫鏈接字段的,咱們須要把它放在配置文件中。
{ "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "MES_MySql": "server=localhost;userid=root;pwd=123456;port=3306;database=db1;sslmode=none;" } }
一般在Startup.cs
中
讀取鏈接字符串。 使用GetConnectionString()
方法查找配置值,該查詢的格式:ConnectionStrings:<connection string name>
其中鍵是connection
。
// var connection = "Data Source = {ip}; Initial Catalog = EFGetStarted.AspNetCore.NewDb; User ID = hsr;Password =js*2015;"; // var connection = Configuration.GetConnectionString("BloggingDatabase"); // services.AddDbContext<EFGetStartedAspNetCoreNewDbContext>(options => options.UseSqlServer(connection));
var connection = Configuration.GetConnectionString("MES_MySql");
services.AddDbContext<db1Context>(options => options.UseMySQL(connection));
5. 在webAPI應用程序中,使用依賴注入的方式。
完成。
引用:https://www.cnblogs.com/yangjinwang/p/9516988.html
引用:https://www.cnblogs.com/MrHSR/p/10364918.html