2016-07-16 13 views
0

これは私のために立ち上がる新しいエラーです。 EF6でテーブルを追加しようとすると、null不可能なフィールドで次のエラーが発生します。私が追加できたテーブルで、XMLでedmxファイルを開くと、StorageSection内の各テーブルの[Key]セクションには、テーブルのすべてのフィールドが含まれていることがわかります。これは明らかにどこかのバグですが、私はどこにいるのか分かりません。EF6 MySql - キーのすべての部分はnull不可能でなければなりません

私は次のことをやった: - MySQLでダブルチェック私のデータモデル(バージョン5.7.7を使用して) - アンインストールをとVisual Studioに2015 を再インストール - アンインストールし、再インストールEn​​tity Frameworkの(バージョン6.1.3) を - Devart dotConnect MySql Proトライアル(バージョン8.6.677.0)の使用 - すべてのweb.configオプションをダブルチェックして、それらが正しいことを確認します。

サンプルエラー: エラー13101:タイプ 'aspnetusers'のキー部分 'LockOutEndDateUtc'が無効です。キーのすべての部分はnull不可能でなければなりません。 HRSMonitor Cは:\ユーザーはプロジェクト\ Visual Studioの2015 \ HRSMonitor \ HRSMonitor \モデル\ケビン\ドキュメント\ \ dbHRS.edmx

はここaspnetusersテーブル用のテーブル・スクリプトを作成します:「、

'aspnetusers' CREATE TABLEをaspnetusersId VARCHAR(128)NOT NULL、Email VARCHAR(256)は、デフォルトのNULL、EmailConfirmed TINYINT(4)デフォルトNULL、PasswordHash VARCHAR(21000)デフォルトNULL、SecurityStamp VARCHAR(21000)デフォルトNULL、PhoneNumber VARCHAR(21000)デフォルトNULL、 PhoneNumberConfirmed tinyint(1)DEFAULT NULL、TwoFactorEnabled tinyint(1)DEFAULT NULL、LockOutEndDateUtc datetime DEFAULT NULL、LockoutEnabledビット(1)DEFA ULTのNULL、AccessFailedCount int型LATIN1' (11)DEFAULT NULLを、UserName VARCHAR(256)NOT NULL、PRIMARY KEY(Id)、KEY IdId))ENGINE = InnoDBのデフォルトCHARSET =

任意のアイデアをいただければ幸いです。

+0

このテーブルは既に作成されていますか?意味は(あなたの質問はあいまいです)テーブルは物理的にすでに存在していますか? – Drew

+0

はい、テーブルはすでに作成されています。これは、モデルファーストデザイン用です。 –

+0

'show create table theTableName;' <---これを実行し、質問に[edit]を付けて公開します(つまり、ここにコメント内にダンプしないでください) – Drew

答えて

0

は、MySQLには、次のステートメントを実行する必要があり、私の問題を発見し、その後EF6は協力:

設定されているグローバルoptimizer_switch = 'derived_merge =オフ'; set optimizer_switch = 'derived_merge = off';

関連する問題