Net Core 3.1,Firebird 2.5和FB.EF 7.5

问题描述 投票:1回答:2

我目前有一个ASP.NET Core 3.1项目,正在使用FirebirdSql.EntityFrameowrk.Core.Firebird v7.5.0。

[尝试通过具有主键和字符串列的简单迁移来更新数据库时

public class TB_CUSTOMER
{
    [Key]
    public int ID_CUSTOMER{ get; set; }
    public string NAME{ get; set; }
}

但是,当我推送数据库更新时,出现“令牌未知”错误。这是由于EF如何创建SQL查询:

CREATE TABLE "TB_CUSTOMER" (
    "ID_CUSTOMER" INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL,
    "NAME" BLOB SUB_TYPE TEXT,
    CONSTRAINT "PK_TB_CUSTOMER" PRIMARY KEY ("ID_CUSTOMER")
);

似乎GENERATED BY是Firebird 3.0带来的语法(由于第三方软件的技术问题,我无法使用该语法)。我找不到有关是否可以将NET Core 3.1(和FB.EF 7.5.0)与FB 2.5一起使用的任何信息。是否可能,或者是迷失的原因?

如果可能,如何指定EF应该期望的FB版本?

c# entity-framework .net-core firebird firebird-.net-provider
2个回答
0
投票

GENERATED BY DEFAULT AS IDENTITY的确是introduced in Firebird 3

根据firebird-net-provider Google Group中对Problems with boolean properties?的讨论,EF Core 3.1仅支持Firebird 3。

我不确定是否有抑制显示身份列的选项,但这可能不是唯一的兼容性问题。


0
投票

目前不支持Firebird <3。但是,如果您仔细选择功能,则可以使其正常运行。一种选择是禁用身份和use sequence and trigger

© www.soinside.com 2019 - 2024. All rights reserved.