DbMetal Drosseln auf wiederholte Fremdschlüssel-Referenzen in SQLite - irgendwelche Ideen?
Frage
Ich habe zu kämpfen DbMetal zu bekommen, um meine SQLite-Datenbank zu verarbeiten. Ich isolierte endlich das Problem. Es wird nicht zulassen, dass eine Tabelle zwei Fremdschlüssel Verweise auf derselben Spalte haben.
Zum Beispiel kann eine SQLite-Datenbank mit diesen beiden Tabellen fehl:
CREATE TABLE Person
(
Id INTEGER PRIMARY KEY,
Name TEXT NOT NULL
);
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL REFERENCES Person(Id)
);
ich diesen Fehler:
DbMetal: Sequenz enthält mehr als ein Anpassungselement
Wenn ich von der zweiten Fremdschlüssel-Referenz loszuwerden, tritt kein Fehler auf.
Also, das funktioniert:
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL
);
Aber ich brauche wirklich beide „Person“ Spalten der Tabelle Person zu verweisen.
Ich legte einen Bugreport für diese, aber ich konnte eine Abhilfe in der Zwischenzeit verwenden. Irgendwelche Ideen?
Lösung
Ich habe gerade das gleiche Problem und einen Patch erstellt. Ich habe es auch in Ihrem Bugreport geschrieben. Für andere, können Sie den Patch finden Sie hier:. http://pastebin.com/VhNptMqp