我是 Linq-to-Entity 的菜鸟。这些是我的数据库表。
create table Jobs
( ID NUMBER PRIMARY KEY,
....
)
create table Responsibilities
( ID NUMBER PRIMARY KEY,
JobID NUMBER
....
)
JobID 列是引用 Jobs(ID) 的外键。
使用这些表,在 Visual Studio 中我会自动创建允许我连接到这些表的类。然后我尝试创建作业并将它们插入数据库。我在每个表上都有触发器,为每个表的主键生成唯一的 ID。下面是创建作业的代码片段。
using (Workflow.WorkflowEntities entity = new Workflow.WorkflowEntities(connectionString))
{
JOBS j = new JOBS();
entity.AddToJOBS(j);
entity.SaveChanges();
我遇到的一个问题是,当保存作业时,我没有得到它的主键。当我想要创建职责对象并将它们添加到作业中,然后批量保存所有内容时,这尤其是一个问题。就像它没有正确填充 Responsibilities 对象中的 JobID 字段一样。
正确的做法是什么?非常感谢任何指点,
米杰
最佳答案
我找到了答案。本页最后一篇文章的第三个。
https://forums.oracle.com/forums/thread.jspa?messageID=9904561
显然 Visual Studio 2010 没有正确保存 XML 中的 StoreGeneratePattern 属性。
编辑 1:我认为 Visual Studio 2010 Service Pack 1 修复了此问题。
关于c# - Linq-to-Entity 在插入 Oracle 时取回主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12697686/