使用 EF6

问题描述

我想使用 EntityFramework 6 在 Oracle 11g 中的身份列中插入负数。假设我正在实例化我的模型,如下所示:

Product product = new Product() {Id = -3,Name = "USB Hub",Status = true };

EF6 为我生成以下 sql

declare
"Id" number(10,0);
begin
insert into "PRD"."Product"("Name","Status")
values (:p0,:p1)
returning
"Id" into
"Id";
open :p2 for select
"Id" as "Id" from dual;
end;

我的触发器是:

create or replace TRIGGER "PRD"."TR_Product"
BEFORE INSERT ON "dbo"."Product"
FOR EACH ROW
WHEN (new."Id" IS NULL)
BEGIN
    SELECT "dbo"."SQ_Product".NEXTVAL
    INTO   :new."Id"
    FROM   dual;
END;

而且序列是标准的递增序列,所以db end应该没有问题(而且没有,因为我可以通过手动查询数据库的方式插入负的Id-s。)
似乎 Oracle 提供程序忽略了我模型中的 Id 属性,这就是为什么我也不能插入正 Id-s 的原因。有什么解决办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)