2016-07-16 16 views
0

Das ist also ein neuer Fehler, der gerade für mich aufkommt und ich bin mir nicht sicher warum. Wenn ich versuche, eine Tabelle über EF6 hinzuzufügen, erhalte ich die folgenden Fehler für alle Felder, für die kein Nullwert zulässig ist. Auf Tabellen, die ich hinzufügen konnte, wenn ich die edmx-Datei in XML öffne, kann ich sehen, dass der Abschnitt [Key] für jede Tabelle in der StorageSection jedes Feld in der Tabelle enthält. Das ist also eindeutig ein Fehler, aber ich bin mir nicht sicher, wo.EF6 MySql - Alle Teile eines Schlüssels müssen nicht nullfähig sein

Ich habe getan, um die folgende: - mein Datenmodell in MySql doppelt geprüft (mit Version 5.7.7) - deinstalliert und neu installiert Visual Studio 2015 - deinstalliert und neu installiert Entity Framework (Version 6.1.3) - Verwenden der Devart dotConnect MySql Pro-Testversion (Version 8.6.677.0) - Überprüfen Sie alle web.config-Optionen, um sicherzustellen, dass sie korrekt sind.

Beispielfehler: Fehler 13101: Schlüsselteil 'LockOutEndDateUtc' für den Typ 'Aspnetusers' ist nicht gültig. Alle Teile des Schlüssels müssen nicht nullfähig sein. HRSMonitor C: \ Benutzer \ Kevin \ Documents \ Visual Studio 2015 \ Projects \ HRSMonitor \ HRSMonitor \ Model \ dbHRS.edmx

Hier ist die Tabelle erstellen Skript für die aspnetusers Tabelle:

'aspnetusers', ‚CREATE TABLE aspnetusers (Id VARCHAR (128) NOT NULL, Email VARCHAR (256) NULL DEFAULT, EmailConfirmed Tinyint (4) NULL DEFAULT, PasswordHash VARCHAR (21000) DEFAULT NULL, SecurityStamp VARCHAR (21000) DEFAULT NULL, PhoneNumber VARCHAR (21000) NULL DEFAULT, PhoneNumberConfirmed tinyint (1) DEFAULT NULL, TwoFactorEnabled tinyint (1) DEFAULT NULL, LockOutEndDateUtc Datum Zeit DEFAULT NULL, Bit (1) DEFA ULT NULL, AccessFailedCount int (11) DEFAULT NULL, UserName varchar (256) NOT NULL, PRIMARY KEY (Id), KEY Id (Id)) ENGINE = InnoDB DEFAULT CHARSET = latin1'

Irgendwelche Ideen wäre sehr dankbar.

+0

Haben Sie diese Tabelle bereits erstellt? Bedeutung (deine Frage ist vage) existiert die Tabelle physisch schon? – Drew

+0

Ja, die Tabelle ist bereits erstellt. Dies ist für ein Modell-erstes Design. –

+0

'show create table theTableName;' <--- führe das aus, veröffentliche es mit einem [edit] zur Frage (zB: lade es nicht unten in einen Kommentar ab) – Drew

Antwort

0

mein Problem gefunden, in MySql, die folgenden Anweisungen ausgeführt werden müssen und dann EF6 kooperiert:

set global optimizer_switch = 'derived_merge = off'; set optimizer_switch = 'derived_merge = off';

Verwandte Themen