C#EFとMySqlの穴
6445 ワード
ずっとmysqlとefを使いたかったです.そして何度も試しても、やはりsqlseverが実の息子だと感嘆するしかない.
今日は職場でもう一度試して、それから成功して、出会った問題を記録しました.
まずインストールパッケージとドライバ?です.
約束してくれData/ MySql.Data.Entity.EF 6/mysql Connector/NETバージョン対応一致
2019.03私が使っているバージョンは・6.10.8です
Connector/NETダウンロードアドレス:https://dev.mysql.com/downloads/connector/net/6.8.html
接続列:
インストールが完了するとEFの構成が自動的に追加されますので確認してください.
赤の部分は手動で追加します.DatabaseInitializerは初期化されたクラスバインドです.
そして運転は2つの異常です
Specified key was too long; max key length is 767 bytes.
Model compatibility cannot be checked because the database does not contain.
この2つの異常は私が長い時間をかけて調べて、いろいろな奇妙な解決策を調べました.
最終的な発見https://www.cnblogs.com/Linner/p/6297223.htmlの解決方法は簡単に問題を解決した.
転載先:https://www.cnblogs.com/Aaxuan/p/10552147.html
今日は職場でもう一度試して、それから成功して、出会った問題を記録しました.
まずインストールパッケージとドライバ?です.
約束してくれData/ MySql.Data.Entity.EF 6/mysql Connector/NETバージョン対応一致
2019.03私が使っているバージョンは・6.10.8です
Connector/NETダウンロードアドレス:https://dev.mysql.com/downloads/connector/net/6.8.html
接続列:
1 <connectionStrings>
2 <add name="xxx" connectionString="Server=localhost;Database=bugbus;User=root;Password=;charset=utf8" providerName="MySql.Data.MySqlClient" />
3 connectionStrings>
インストールが完了するとEFの構成が自動的に追加されますので確認してください.
赤の部分は手動で追加します.DatabaseInitializerは初期化されたクラスバインドです.
1
2
3
4
5
6
7 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
8 <parameters>
9 <parameter value="mssqllocaldb" />
10 parameters>
11 defaultConnectionFactory>
12 <providers>
13 <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
14 <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
15 providers>
16 entityFramework>
そして運転は2つの異常です
Specified key was too long; max key length is 767 bytes.
Model compatibility cannot be checked because the database does not contain.
この2つの異常は私が長い時間をかけて調べて、いろいろな奇妙な解決策を調べました.
最終的な発見https://www.cnblogs.com/Linner/p/6297223.htmlの解決方法は簡単に問題を解決した.
1 [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
2 public class AppContext : DbContext
3 {
4 static AppContext()
5 {
6 DbConfiguration.SetConfiguration(new MySql.Data.Entity.MySqlEFConfiguration());
7 }
8
9 public AppContext() : base("xxxxxx")
10 { }
11
12 public DbSet Users { get; set; }
13
14
15 }
転載先:https://www.cnblogs.com/Aaxuan/p/10552147.html