摘要:之前跟著網上的一些教程,學習了一點ABP的知識。最近想說把預設的SQLSERVER數據遷移到mysql吧 首先網上搜一波 安裝MySql.Data.Entity 然後你需要安裝 MySql.Data.Entity和 MySql.Data 到你的 .EntityFramework 和 .Web ...
摘要:之前跟著網上的一些教程,學習了一點ABP的知識。最近想說把預設的SQLSERVER數據遷移到mysql吧
首先網上搜一波
安裝MySql.Data.Entity
然後你需要安裝 MySql.Data.Entity和 MySql.Data 到你的 .EntityFramework 和 .Web 項目。然後你還需要修改 .Web 項目的web.config文件。
打開你的DbContext的配置類(Configuration.cs),併在該類的構造函數中使用下麵的代碼:
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
配置連接字元串
為了能夠使用MySQL資料庫,你需要修改web.config文件中的連接字元串。如下所示:
<add name="Default" connectionString="server=localhost;port=3306;database=sampledb;uid=root;password=***" providerName="MySql.Data.MySqlClient"/>
重新生成遷移文件
在下載啟動模板的時候,如果你選擇了包含 Module Zero。這裡會有一些遷移文件會包含在你的項目中,但是這些文件是為Sql Server遷移使用的。請打開 .EntityFramework 項目中的Migrations文件夾,然後刪除這些遷移文件。遷移文件是以時間戳開始的。遷移文件的名字像這樣:201506210746108_AbpZero_Initial。
在刪除所有的遷移文件後,選擇你的 .Web 項目為開始項目,打開VS的包管理控制台,併在包管理控制臺中選擇 .EntityFramework 項目作為預設項目。然後在控制臺中執行下麵命令:
Add-Migration "AbpZero_Initial"
現在你可以使用下麵命令來創建資料庫:
Update-Database
一,OK 按照上述操作一波,,納尼,出現了以下問題
然後在網上各種搜,都沒有搜到有用的內容。最後google到了一個相關內容
難道是最新版本的問題。果斷降版本到6.8.8 果然沒有再出違反安全規則的問題。
版本6.8.8跟6.9.10都沒有問題。
以上是我踩到的第一個坑
二,下麵一個是The provider did not return a ProviderManifestToken string,這又是咋滴。。習慣性又搜一波。發現網上說啥的都有。。那就中斷一下看看innerexception吧。在innerexception中的信息
拒絕了訪問。難道是密碼錯了。。。最後發現真的是密碼錯了(沒辦法。好就之前裝的mysql,用了一次之後就吃土了。。)
最後update-database。
以上。。。歡迎批評指正