我正在使用 EF 进行插入,如下所示:
using (Entities1 ctx = new Entities1())
{
ADDRESS_RESOLVER addrRes = new ADDRESS_RESOLVER();
addrRes.ZIP_VEGA = addr.ZipVega;
ctx.ADDRESS_RESOLVER.Add(addrRes);
ctx.SaveChanges();
}
表 ADDRESS_RESOLVER 有一个主键 ID 和一个关联的序列。触发器如下所示:
create or replace
trigger SEQ_ADDRESS_RESOLVER_ID
before insert on "MY_DB"."ADDRESS_RESOLVER"
for each row
begin
if inserting then
if :NEW."ID" is null then
select SEQ_ADDRESS_RESOLVER.nextval into :NEW."ID" from dual;
end if;
end if;
end;
问题是我的 EF 对象 addrRes 的 ID settet do 0 并且我不能将它设置为 null 因为它是一个 PK 所以当我尝试插入时触发器不起作用。我的解决方案是将触发器中的“if”更改为“0”而不是“null”,但我不确定它是否是正确的解决方案。有没有更聪明的方法来做到这一点?