我有两个表名为“Root”,其中包含Id
,RootNumber
列,其中Id
是主键。
现在,当我尝试使用RootNumber
作为外键创建另一个表时,我得到以下错误
InnerException {“中没有主键或候选键 引用的表'dbo.Root'与引用列列表匹配 外键(“FK_CNTR_Root”,\ r \ n不能创建约束或 指数。请参阅先前的错误。“} System.Exception {System.Data.SqlClient.SqlException}
this.CreateTableWithId32("CNTR", "Id", s => s
.WithColumn("CNTRNumber").AsString(10).NotNullable()
.WithColumn("CNTRName").AsString(10).NotNullable()
.WithColumn("RootNum").AsInt32().NotNullable()
.ForeignKey("FK_CNTR_Root", "Root", "RootNumber")
答案 0 :(得分:0)
错误很明显。您只能将PrimaryKey列作为另一个表中的ForeignKey引用。因此,要么将Id
作为其他表中的外键,要么将RootNumber
更改为Root
表的PrimaryKey。
请参阅此基本Foreign Key定义。