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();
}
}