gpt4 book ai didi

oracle - 使用现有存储过程通过 Entity Framework 为 Oracle 数据库生成身份

转载 作者:行者123 更新时间:2023-12-04 16:12:35 24 4
gpt4 key购买 nike

如何通过 Entity Framework 为 Oracle 数据库自动生成身份?

我有一个可以调用并生成不在上下文中的列的函数如何通过 Entity Framework 显式调用存储过程?我正在使用存储库模式。

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

最佳答案

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

关于oracle - 使用现有存储过程通过 Entity Framework 为 Oracle 数据库生成身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com