当试图使用C# (作为DbLinq的一部分)创建一个DbLinq文件时,我得到以下错误:
DbMetal: Sequence包含多个元素
只有当我引用多个外键作为主键的一部分时,它才会出现。以下是引起问题的“我的表”的DDL:
CREATE TABLE [QuestionChoice]
(
[QuestionaireID] INTEGER NOT NULL,
[QuestionNumber] INTEGER NOT NULL,
[ChoiceNumber] INTEGER NOT NULL,
[Wording] VARCHAR
(
100
)
NOT NULL,
PRIMARY KEY
(
[ChoiceNumber],
[QuestionNumber],
[QuestionaireID]
),
FOREIGN KEY
(
[QuestionNumber],
[QuestionaireID]
)
REFERENCES [Question]
(
[QuestionNumber],
[QuestionaireID]
)
)我用来设置SQLite数据库的工具是SQLite Studio。我设置了一个表约束来设置外键。
如果我单独设置外键(每个项)而不是表约束,则生成的类具有对试题表的多个引用,在尝试插入表时会导致多个引用和错误。
发布于 2010-09-19 06:57:59
为了解决这个问题,我在评论中采纳了Stephen的建议,并对所有表使用了一个INTEGER PRIMARY KEY。虽然SQLite可能支持多个外键,但DBMetal却对此想法束手无策。
因此,另一个表的外键会产生一个引用,而DBMetal会适当地处理所有内容。
https://stackoverflow.com/questions/3260390
复制相似问题