ABP框架應用-MySQL數據庫集成

1.  框架之外依賴包引入vue

1.1.  Pomelo.EntityFrameworkCore.MySqlmysql

1.2.  Pomelo.EntityFrameworkCore.MySql.Designsql

 2.  衝突包的檢查和排除(本身遇到的出問題的地方)vuex

2.1.  排除-Mysql.Data.Entity,具體緣由不詳。數據庫

2.2.  排除-MySQL.Data.EntityFrameworkCore,EfCore 報錯,沒法進行類型的強制轉換,目前官方沒有解決,因此使用Pomelo來替代。json

3.  在EntityFrameworkCore層修改DbContextConfigurer文件中的數據庫引用。app

4.  在EntityFrameworkCore層修改DbContext的OnModelCreating方法,添加映射最大值限制。框架

5.  修改Migrator下的appsetting.json和Web.Host下的appsetting.json中的數據庫鏈接配置工具

6.  在NuGet程序包管理控制檯執行生成遷移腳本命令。ui

7.  在NuGet程序包管理控制檯,執行EF數據庫更新語句。

8.  用Navicat工具鏈接到數據庫驗證是否生成對應數據庫。

 

【說明】ABP原始框架環境準備:

ASP.NET Core 2.X

.NET Core (Cross Plateform)

vue 2.5.16

vuex 3.0.1

ABP 3.8.1

yarn 1.9.4

 

1.  框架之外依賴包引入

1.1.  Pomelo.EntityFrameworkCore.MySql

【說明】MYSQL基礎支撐

 

1.2.  Pomelo.EntityFrameworkCore.MySql.Design

【說明】生成升級腳本的設計支撐,例如,MYSQL數據庫字段類型到實體類型的映射關係。

 

 2.  衝突包的檢查和排除(本身遇到的出問題的地方)

2.1.  排除-Mysql.Data.Entity,具體緣由不詳。

2.2.  排除-MySQL.Data.EntityFrameworkCore,EfCore 報錯,沒法進行類型的強制轉換,目前官方沒有解決,因此使用Pomelo來替代。

3.  在EntityFrameworkCore層修改DbContextConfigurer文件中的數據庫引用。

【說明】修改前:

 public static void Configure(DbContextOptionsBuilder<CourseraDbContext> builder, string connectionString)

        {

            builder.UseSqlServer(connectionString);

        }

【說明】修改後:

 public static void Configure(DbContextOptionsBuilder<CourseraDbContext> builder, string connectionString)

        {

            builder.UseMySql(connectionString);

        }

【說明】注意:

若是引用的是UseMYSql,則說明,引用包爲MySQL.Data.EntityFrameworkCore,生成遷移腳本的時候,仍然會報沒法進行轉換的錯誤。

4.  在EntityFrameworkCore層修改DbContext的OnModelCreating方法,添加映射最大值限制。

【說明】modelBuilder.Entity<ApplicationLanguageText>().Property(p => p.Value).HasMaxLength(500);

沒有驗證過爲何這樣作。

5.  修改Migrator下的appsetting.json和Web.Host下的appsetting.json中的數據庫鏈接配置

【說明】修改後的格式:

"Default": "Server=[mysql的鏈接地址]; port=[端口]; Database=[數據庫名稱]; user id=[登陸帳戶]; password=[登陸密碼];"

6.  在NuGet程序包管理控制檯執行生成遷移腳本命令。

【說明】執行:add-migration [遷移腳本名稱]

執行成功後,將在 Migrations中生成[遷移腳本名稱]命名的腳本文件。

7.  在NuGet程序包管理控制檯,執行EF數據庫更新語句。

【說明】執行 : update-database

8.  用Navicat工具鏈接到數據庫驗證是否生成對應數據庫。

相關文章
相關標籤/搜索