微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 EF6

如何解决使用 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 举报,一经查实,本站将立刻删除。