使用现有存储过程通过实体框架为Oracle数据库生成标识

使用现有存储过程通过实体框架为Oracle数据库生成标识,oracle,entity-framework-4,oracle11g,repository-pattern,identity-column,Oracle,Entity Framework 4,Oracle11g,Repository Pattern,Identity Column,如何通过实体框架自动生成Oracle数据库的标识 我有一个可以调用并生成不在上下文中的列的函数如何通过实体框架显式调用存储过程?我使用的是存储库模式 用于插入记录的随机数生成器(其中我通过UDF获取主键并将其传递给要插入的实体)。1)在Oracle中创建序列 CREATE SEQUENCE dummy_test_seq MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1;

如何通过实体框架自动生成Oracle数据库的标识

我有一个可以调用并生成不在上下文中的列的函数如何通过实体框架显式调用存储过程?我使用的是存储库模式

用于插入记录的随机数生成器(其中我通过UDF获取主键并将其传递给要插入的实体)。

1)在Oracle中创建序列

 CREATE SEQUENCE dummy_test_seq
  MINVALUE 1
  MAXVALUE 999999999999999999999999999
  START WITH 1
  INCREMENT BY 1;
   public int InsertTable1()
    {
      using (Entities ctx = new Entities())
        {
            ctx.tabel1.Add(new tabel1()
            {
                SEQ = CommonUtilities.DummyTestSeq,
                Date= DateTime.Now
            });
            return ctx.SaveChanges();
        }
     }
2)创建属性

   sealed public class CommonUtilities
    {
      #region Sequences
       public static int DummyTestSeq
        {
         get
          {              
            using (Entities ctx = new Entities()) 
             { 
               return Convert.ToInt32(ctx.Database.SqlQuery<decimal>("SELECT dummy_test_seq.NEXTVAL FROM DUAL").ToList().Single()); 
              }  
            }
         }
    #endregion
}