[Asp.Net Core] 使用 Entity Framework Core 進行 MariaDB (MySQL) 資料庫結合開發
4 min readOct 26, 2019
一般來說,在進行微軟的開發專案,幾乎正常來說應是一面倒地採用SQL Server作為資料庫使用,但是有時候例如像早期採用它牌資料庫,後期才採用微軟解決方案也是一大堆,所以今天就來聊聊如何在Asp.Net Core 3專案使用 Entity Framework Core 進行 MariaDB (MySQL) 資料庫結合開發。
一、在自已的專案裡「套件管理器主控台」執行安裝MariaDB(MySQL)套件指令
dotnet add package Pomelo.EntityFrameworkCore.MySql
Entity Framework Core建議安裝:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Microsoft.EntityFrameworkCore.Relational
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
二、在appsettings.json設定連線字串
"ConnectionStrings": {"DefaultConnection": "Server=127.0.0.1; Port=3306;User Id=***;Password=***;Database=***"}
三、接下來在Startup.cs上設定啟動連線
services.AddDbContext<DBContext>(options =>
{
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"), mysqlOptions =>
{
mysqlOptions.ServerVersion(new Version(10, 4, 8), ServerType.MySql);
});
});
請依自己安裝MariaDB(MySQL)的版本修改 => Version(10, 4, 8)
四、編輯方法Configure(),新增參數DBContext
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DBContext dbContext)
{
dbContext.Database.EnsureCreated();
}
五、建立DbContent.cs
public class DBContext : DbContext
{
public DBContext(DbContextOptions<DBContext> options) : base(options){ }
public DbSet<WebLoggingModel> WebLogging { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<WebLoggingModel>().ToTable<WebLoggingModel>("syslogging");
}
}
說明:
WebLoggingModel=>資料模型(Table Schema欄位)
syslogging=>資料表名稱
以上操作完後,可以進行程式編寫,試試是否有資料出來,沒意外應該是可以順利執行,但程式有千百萬的理由有問題,像這次使用也是花很多時間在處理各套件版本問題,也是件苦事,祝各位順利!!!