我在考虑在我的应用程序中使用ODP.NET实体框架,我想知道如何处理自动递增。在不使用EF的情况下使用ODP.NET时,我使用序列和sequence.next来进行插入操作。 但是,我应该如何处理EF?
谢谢!
我在考虑在我的应用程序中使用ODP.NET实体框架,我想知道如何处理自动递增。在不使用EF的情况下使用ODP.NET时,我使用序列和sequence.next来进行插入操作。 但是,我应该如何处理EF?
谢谢!
我使用了序列和触发器 - 这似乎是唯一可行的解决方案。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Configure default schema
modelBuilder.HasDefaultSchema("Admin");
//Map pk in table
modelBuilder.Entity<Student>().HasKey(t => t.ID_CERT);
modelBuilder.Entity<Student>().Property(t => t.ID_CERT)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
然后更新你的数据库:
update-database
这将自动为您创建序列和触发器。
如果您需要一些自定义触发器,请查看此处的一些示例,并使用触发器创建一个空迁移:
public partial class SomeMigration : DbMigration
{
public override void Up()
{
Sql("create or replace trigger TR_CUSTOM ... ");
}
public override void Down()
{
}
}
modelBuilder.Entity<Student>().HasKey(t => t.ID);
- fsbflavio