オンラインでスペースやデータベースをレンタルする必要がある場合、MySQL の方が安いため、SQL サーバーを MySQL に変換したい場合があります...
注: Mysql をインストールするときは、utf8 として設定されたテキストを選択する必要があります。そうしないと、中国語を使用できなくなります (現在、データベースを作成するときに utf8 を使用することもできますが、EF が生成するときにそれを設定する方法がわかりません)データベースです。専門家にアドバイスをいただければ幸いです)
1.プロジェクト内のmysqlのEFパッケージを参照します
NuGet パッケージマネージャー経由でインストール: EntityFramework6.1.3、MySql.Data.Entity6.9.8
nuget コマンドラインを使用して参加することもできます:
インストールパッケージ MySql.Data.Entity
2. 新しい関連クラスを作成します
1. 新しいユーザーエンティティクラスを作成します
インスタンスのフィールド長を定義します。定義されていない場合、「指定されたキーが長すぎます。最大キー長は 767 バイトです」というエラーが発生します。これは、文字列タイプが mysql に直接マッピングされているためです。 mysql は最大 767 バイトをサポートします。
リーリー
2. 新しい MyContext クラスを作成します
そして、MySql [DbConfigurationType(typeof(MySqlEFConfiguration))] で実装する方法を説明します
リーリー
3. テストコードを書く
リーリー
3. Web.config を設定します
次のコードを
リーリー
完全な web.config は次のとおりです:
リーリー
最後にプログラムを実行してデータベースの自動作成を完了します
よくある質問
•エラー メッセージが表示されます: 指定されたキーが長すぎます;最大キー長は 767 バイトです
1) エンティティの文字列型属性に長さが設定されているかどうかを確認します
2) MyContext クラスが mysql データ型 [DbConfigurationType(typeof(MySqlEFConfiguration))] として生成されるように宣言されているかどうか
•エラー メッセージが表示されます: データベースにモデルのメタデータが含まれていないため、モデルの互換性を確認できません
生成されたデータベースを削除し、プログラムを再実行します
•エラー メッセージが表示されます: シーケンスには一致する要素が含まれていません
チェックしてください:
例: 1.
リーリー
2.[Column(TypeName="VARCHAR(254)")] public string ColumnName { set; } この定義を次のように変更します。 [MaxLength(254)] [Column(TypeName="VARCHAR")] public string ColumnName { get; set; }3. (次のコードはこの方法では使用しないためテストされていません。次の記事でテストします)
リーリー次のように変更されました:
リーリー
.WithMany() は .WithOptional() に置き換えられました
上記は、エディターが紹介した EF での MySQL の使用方法と一般的な問題の全体的な説明です。ご質問がある場合は、メッセージを残してください。エディターが返信します。間に合うように。ウェブサイトをご利用いただき、誠にありがとうございます。