首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用存在的存储过程通过实体框架为Oracle数据库生成标识

问使用存在的存储过程通过实体框架为Oracle数据库生成标识
EN

Stack Overflow用户
提问于 2011-11-22 20:00:59
回答 1查看 959关注 0票数 6

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-10-30 14:06:12

1)在Oracle中创建序列

代码语言:javascript
复制
 CREATE SEQUENCE dummy_test_seq
  MINVALUE 1
  MAXVALUE 999999999999999999999999999
  START WITH 1
  INCREMENT BY 1;

2)创建属性

代码语言:javascript
复制
   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
}

3)获取序列

代码语言:javascript
复制
   public int InsertTable1()
    {
      using (Entities ctx = new Entities())
        {
            ctx.tabel1.Add(new tabel1()
            {
                SEQ = CommonUtilities.DummyTestSeq,
                Date= DateTime.Now
            });
            return ctx.SaveChanges();
        }
     }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8232997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档