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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top