Es ist eine sehr einfache Struktur - Eltern Kind mit Fremdschlüssel 1 zu viele.Das Hinzufügen eines eindeutigen Index in Entity Framework verhindert, dass DataTables funktioniert
funktionierte gut, aber ich wollte Eindeutigkeit erzwingen, indem sie als so einen Verbund eindeutigen Index hinzu:
CreateIndex("dbo.Fixtures", new[] { "MarketId", "BookName", "CoupName" }, unique: true, name: "IX_UniqueFixture");
Danach, wenn ich neue Datensätze eingegeben es den Fehler erzeugt hat:
ich dann gelöscht der neu hinzugefügte Index und löschte die Datensätze, die hinzugefügt wurden, nachdem der Index hinzugefügt wurde, und es funktionierte, die Datensätze anzuzeigen, die dem Hinzufügen des Index vorausgingen.
Allerdings, wenn ich wieder versucht, die Datenbank mit neuen Datensätze aktualisieren sie auf den gleichen Fehler rückgängig gemacht:
Die Datensätze unterhalb der Fehlermeldung die Datensätze angezeigt, die von vor der Zugabe bestand der Index zuvor erwähnt.
nun die Eltern Lookup-Tabelle Id-Spalte als so nach Einsaat - es funktioniert
USE [aspnet-Arb-20160906102730]
DBCC CHECK ('ExchangeTypes', RESEED, 7) GO GO
und es wieder erlaubt ich neuen Datensätze So hinzufügen
in Kurz habe ich es geschafft, mich von dem Durcheinandermachen der Databases durch Hinzufügen des einzigartigen zusammengesetzten Indexes zu erholen, so dass es die Anzeige von Datensätzen ermöglicht.
Allerdings verwirrt mich, warum dies auftritt. Und ich möchte immer noch Einzigartigkeit durchsetzen können. Vielleicht werde ich versuchen, 3 Felder in ein Feld zu verketten und zu sehen, ob es mir gelingt, die Eindeutigkeit mit einem Index für ein einzelnes Feld und nicht mit mehreren Feldern durchzusetzen und zu sehen, ob dies die Anzeige von Databases beeinträchtigt.
EDIT: Versucht es mit Index auf einzelnes Feld eindeutig und es kommt immer noch mit dem gleichen Fehler. Funny, wie das Anwenden eines eindeutigen Indexes auf das Eltern-Nachschlagefeld nicht verhindert, dass Databases funktioniert, aber dasselbe in der Kind-Tabelle versucht.