我从现有的SQL Express DB创建了一个SQLite 3 db。新SQLite数据库中的主键是INTEGER类型,外键是int类型。 EF抛出13101错误。 实施例
CREATE TABLE Test (
TestID INTEGER NOT NULL,
TestName NVARCHAR (50),
TestTypeId INT,
TestConfigId INT,
Description NVARCHAR (255),
NumberOfRuns INT,
Modified ROWVERSION NOT NULL,
CONSTRAINT PK_Tests PRIMARY KEY (
TestID
),
FOREIGN KEY (
TestConfigId
)
REFERENCES TestConfiguration (TestConfigID) ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (
TestTypeId
)
REFERENCES TestType (TestTypeID) ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE TestType (
TestTypeID INTEGER NOT NULL,
TestTypeName NVARCHAR (50) NOT NULL,
Description NVARCHAR (50) NOT NULL,
Modified ROWVERSION NOT NULL,
CONSTRAINT PK_TestTypes PRIMARY KEY (
TestTypeID
)
);
在表Test中,TestTypeId是一个int和一个FK,但在表TestTypes中,TestTypeID是INTEGER,而EF 6.2则是不同类型的。
将所有PK改为int并将其设为AUTO_INCREMENT或将所有PK更改为INTEGER的答案是什么?
谢谢, 道格