我一直在努力让DbMetal处理我的SQLite数据库。我终于把这个问题孤立了。它不允许表对同一列有两个外键引用。
例如,包含这两个表的SQLite数据库将失败:
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)
);我知道这个错误:
DbMetal:序列包含多个匹配元素
如果我去掉了第二个外键引用,就不会发生错误。
因此,这是可行的:
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL
);但是我确实需要两个" Person“列来引用Person表。
我为此提交了一个错误报告,但在此期间我需要一个解决办法。有什么想法吗?
发布于 2010-05-05 15:59:38
我只是有同样的问题,并创建了一个补丁。我还把它发到你的错误报告上了。对于其他人,您可以在这里找到修补程序:http://pastebin.com/VhNptMqp。
https://stackoverflow.com/questions/2761701
复制相似问题