sql >> データベース >  >> RDS >> Oracle

既存のストアドプロシージャを使用して、EntityFrameworkを介してOracleデータベースのIDを生成します

    1)Oracleでシーケンスを作成する

     CREATE SEQUENCE dummy_test_seq
      MINVALUE 1
      MAXVALUE 999999999999999999999999999
      START WITH 1
      INCREMENT BY 1;
    

    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
    }
    

    3)シーケンスの取得

       public int InsertTable1()
        {
          using (Entities ctx = new Entities())
            {
                ctx.tabel1.Add(new tabel1()
                {
                    SEQ = CommonUtilities.DummyTestSeq,
                    Date= DateTime.Now
                });
                return ctx.SaveChanges();
            }
         }
    



    1. Oracleからmysqlへのデータベースミラーリング

    2. PDOエラー:SQLSTATE [HY000]:一般エラー:2031

    3. SQLServerで1つのデータベースのアクティビティを分析する方法

    4. Windowsに推奨されるMySQLチューニングユーティリティ