网络核心 3.1、Firebird 2.5 和 FB.EF 7.5
Net Core 3.1, Firebird 2.5 and FB.EF 7.5
我目前有一个 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; }
}
但是,当我推送数据库更新时,出现 "Token Unknown" 错误。
这是由于 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 带来的语法(由于第三方软件的技术问题我无法使用)。我找不到任何关于我是否可以在 FB 2.5 中使用 NET Core 3.1(和 FB.EF 7.5.0)的信息。这是可能的,还是失败的原因?
如果可能,我如何指定 EF 预期的 FB 版本?
GENERATED BY DEFAULT AS IDENTITY
确实是introduced in Firebird 3。
根据 firebird-net-provider Google Group in Problems with boolean properties? 上的讨论,EF Core 3.1 仅支持 Firebird 3。
我不确定是否有一个选项可以禁止生成标识列,但这可能不是唯一的兼容性问题。
目前不支持 Firebird <3。但如果你仔细选择功能,你可以让它发挥作用。一种选择是禁用身份和 use sequence and trigger.
我目前有一个 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; }
}
但是,当我推送数据库更新时,出现 "Token Unknown" 错误。 这是由于 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 带来的语法(由于第三方软件的技术问题我无法使用)。我找不到任何关于我是否可以在 FB 2.5 中使用 NET Core 3.1(和 FB.EF 7.5.0)的信息。这是可能的,还是失败的原因?
如果可能,我如何指定 EF 预期的 FB 版本?
GENERATED BY DEFAULT AS IDENTITY
确实是introduced in Firebird 3。
根据 firebird-net-provider Google Group in Problems with boolean properties? 上的讨论,EF Core 3.1 仅支持 Firebird 3。
我不确定是否有一个选项可以禁止生成标识列,但这可能不是唯一的兼容性问题。
目前不支持 Firebird <3。但如果你仔细选择功能,你可以让它发挥作用。一种选择是禁用身份和 use sequence and trigger.