EF 6.2参考约束问题

时间:2018-02-22 21:09:00

标签: entity-framework sqlite

我从现有的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的答案是什么?

谢谢, 道格

0 个答案:

没有答案