環境與版本
作業系統:Window10 64x 版本:2004
開發軟件(IDE):Visual Studio 2019 Community
.NET版本:ASP.NET Core 3.1
專案架構:MVC
資料庫產品版本:MySql
資料庫版本編號:Var 8.0.21
繼此篇[C#學習]ASP.NET CORE MVC 應用程式中的資料庫 使用與範本 進行延續學習使用範本
一般來說要在使用微軟開發的軟體時,微軟都是主要使用sqlsever去當作資料庫的使用,但是Sqlsever 在成本上其實相較於使用Mysql還要來的高,且Mysql在許多Iot 伺服器,或是Linux系統上,也比較支援。
此篇是由原本MsSQL資料庫,轉到MySQL資料庫
安裝MySql資料庫和相關套件
有安裝 MySQL for Visual Studio,才可以在Visual Studio 有方便連結資料庫開發系統。
在開發軟件設定MySQL資料庫
在Visual Studio設定連線MySQL資料庫
安裝NuGet相關套件
設定資料庫相關的資料表和資料內容
利用MySQL的GUI介面系統MySQL Workbench 8.0 CE,建立資料內容和資料庫。
資料表的[id]欄位在原本的程式設計裡面是代表主鍵和含有自動遞增的特性,所以在Mysql資料庫上同樣把相關的特性 加上去。
在appsettings.json設定連線字串
"ConnectionStrings": { "MvcMovieContext": "Server=localhost; Port=3306;User Id=*****;Password=*****;Database=***;persistsecurityinfo=True" }
相關資訊改成自己資料庫的內容資料。
在Startup.cs上設定啟動連線
在Startup.cs上新增第1行 和 第8~14行的內容。
using Pomelo.EntityFrameworkCore.MySql.Infrastructure; public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MvcMovieContext>(options => { options.UseMySql(Configuration.GetConnectionString("MvcMovieContext"), mysqlOptions => { mysqlOptions.ServerVersion(new Version(8, 0, 21), ServerType.MySql); }); }); } }
依自己安裝MySQL的版本修改 => Version(8, 0, 21)
說明:
<MvcMovieContext>=>資料模型(Table Schema欄位)
(“MvcMovieContext”)=>在appsettings.json的連線字串
測試應用程式
參考資料:
[Asp.Net Core] 使用 Entity Framework Core 進行 MariaDB (MySQL) 資料庫結合開發:https://medium.com/@jscinin/asp-net-core-3-%E4%BD%BF%E7%94%A8maria-db-mysql-%E9%80%B2%E8%A1%8C%E9%96%8B%E7%99%BC-9510d09c3a3a