ASP.Net MVC鏈接MySQL和Code First的使用

首先要準備一下的工具做爲環境mysql

  • MySQL Community Server 5.7.x
  • My Workbench 6.3
  • VS2017

新建一個項目,NetMySQLCodeFirstweb

選擇MVC,再選擇無用戶驗證sql

而後經過NuGet包管理器安裝三個包,安裝最新穩定版本便可數據庫

  • EntityFramework
  • MySql.Data
  • MySql.Data.Entity

緊接着在Models文件裏面新建一個類Lexanide

        public Guid LexanID { get; set; }
        public string LexanName { get; set; }
        public int LexanAge { get; set; }
        public string LexanImage { get; set; 

再繼續在Models文件裏面建一個類Category工具

        public Guid CategoryID { get; set; }
        public string CategoryName { get; set; }

繼續在Models文件裏面建一個類CodeFirstContextui

public DbSet<Lexan> Lexans { get; set; }
public DbSet<Category> Categories { get; set; }

在根目錄下修改Web.Config文件,並在system.web的標籤前面添加以下代碼,表示鏈接.Net 鏈接MySQL字符串,密碼是本身的root的登錄密碼,根據實際狀況修改spa

<connectionStrings>
    <add name="CodeFirstContext" connectionString="Data Source=localhost;port=3306; Initial Catalog=LexanCodeFirstDB;uid=root; pwd=******" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

完成上面的工做之後,接下來作的工做就是在NuGet的控制檯去,更新咱們的數據庫代碼後的鏈接設置實現咱們經過LexanCodeFirstDb的數據庫名已啓用並將添加新的遷移。爲此, 咱們使用軟件包管理器控制檯。在控制檯執行以下命令3d

enable-migrations

這個時候由於執行了enable-migrations命令,項目中會自動的生成Migrations文件夾,而後到這個文件夾裏面去修改Configuration類裏面的Configuration方法,添加以下的代碼code

 AutomaticMigrationsEnabled = true;
            SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());

 

再繼續往NuGet的控制檯裏輸入一下代碼,執行數據的遷移,有提示輸入名字,這個名字和項目名字是不一樣的

add-migration

mysql的數據庫引擎代碼端使用默認建立的結構, 主鍵也會爲提到的區域返回此錯誤。做爲此解決方案, 咱們將再次升級咱們的上下文模型以下。之前, 相似於咱們在上面設置的 SqlGenerator, 而後去修改codeFirstContext類,以下所示

 

繼續在NuGet控制檯執行以下代碼更新數據庫

update-database

到這裏咱們的工做所有完成了,咱們看看沒有遷移時候MySQL數據

再來看看錢之後的數據庫

成功了!

 

相關文章
相關標籤/搜索