我正在创建我的第一个应用程序,它使用实体框架来访问 Oracle 数据库中的数据。数据库由 16 个不同的相关表组成。到目前为止,我已经创建了一个原型数据库并使用 Oracle SQL Developer 加载了一些示例数据。应用程序正在成功地从选定的表以及相关表中读取数据。
现在是时候开始从应用程序添加数据了。我们已经就如何做到这一点进行了多次讨论。从我看到的示例中,这个过程看起来很简单,但我确实对主键生成有疑问。
对于大多数(如果不是全部)表,主键将是一个没有任何意义的数字,除了 i 作为关系键的唯一用途。这是因为许多记录中没有保证唯一的特定字段。出现的问题是该密钥是如何生成的。
对于我之前使用过的数据库,有一个可以使用的自动增量字段类型的概念,因此数据库会自动创建键。DBA 通知我,Oracle 没有自动递增字段类型。他告诉我,Oracle 可以使用序列支持密钥生成,但这需要在存储过程中完成。另一方面,我在使用存储过程时遇到了很大的阻力。一般的感觉是,没有关于实体框架的信息表明这是必要的,实体框架应该消除对存储过程的需要。
当我使用实体框架将记录添加到 Oracle 表时,任何人都可以澄清我对主键做了什么(或发生了什么)吗?