之前一直想用 mysql 和 ef 。然后多次嘗試也只能感嘆 還是 sqlsever 是親兒子。
今天在單位又嘗試了一次,然后就成功了,記錄一下遇到的問題。
首先是安裝包和驅動?。
請保證?MySql.Data /?MySql.Data.Entity.EF6 / mysql Connector/NET 版本對應一致
2019.03? 我使用的版本是· 6.10.8
Connector/NET 下載地址: https://dev.mysql.com/downloads/connector/net/6.8.html
連接串:
1
2
3
安裝完后 EF的配置會自動添加 可以確認一下:
標紅的這一段要手動加。databaseInitializer是初始化的類綁定。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
然后運行就是是兩個異常
Specified key was too long; max key length is 767 bytes。
Model compatibility cannot be checked because the database does not contain。
這兩個異常花了我好久時間查來查去,各種千奇百怪的解決方案。
最后發現?https://www.cnblogs.com/Linner/p/6297223.html 的解決方法簡單的解決了問題
1 [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]2 public classAppContext : DbContext3 {4 staticAppContext()5 {6 DbConfiguration.SetConfiguration(newMySql.Data.Entity.MySqlEFConfiguration());7 }8
9 public AppContext() : base("xxxxxx")10 { }11
12 public DbSet Users { get; set; }13
14
15 }