DbMetal ahoga en repetidas referencias clave externa en SQLite - cualquier idea?
Pregunta
He estado luchando para conseguir DbMetal al procesamiento de base de datos SQLite. Finalmente aislado el problema. No permitirá una mesa para tener dos referencias de clave externa a la misma columna.
Por ejemplo, una base de datos SQLite con estas dos tablas se producirá un error:
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)
);
Me sale este error:
DbMetal: Secuencia contiene más de un elemento coincidente
Si me deshago de la segunda referencia de clave externa, no se produce ningún error.
Por lo tanto, esto funciona:
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL
);
Pero lo que realmente necesitan las dos columnas "persona" para hacer referencia a la tabla Person.
reporte de errores para esto, pero podría utilizar una solución en el ínterin. Algunas ideas?
Solución
Sólo tenía el mismo problema y ha creado un parche. También he publicado que a su informe de error . Para otros, puede encontrar el parche aquí:. http://pastebin.com/VhNptMqp