首页 > 解决方案 > 显式设置 ID 属性

问题描述

我一直在使用Sql ServerwithEF Core并且能够在插入期间执行类似的操作ctx.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Persons ON");来显式设置实体 ID。我用它来做我的测试。

现在我正在与提供者一起使用Oracle数据库,devart但我不知道如何做同样的事情。有没有办法用 Oracle 做到这一点?

标签: sql-serveroracleentity-frameworkentity-framework-coredevart

解决方案


使用 GENERATED BY DEFAULT ON NULL,Oracle 会将您提供的值插入到标识列中。如果没有值或为 NULL,则标识列的值将由 Oracle 生成。

CREATE TABLE demo_table (
    id NUMBER GENERATED BY DEFAULT ON NULL,
    description VARCHAR2(100) NOT NULL
);

推荐阅读