2

我是一个带有 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。下面是创建 Job 的代码片段。

using (Workflow.WorkflowEntities entity = new Workflow.WorkflowEntities(connectionString))
{
    JOBS j = new JOBS();
    entity.AddToJOBS(j);
    entity.SaveChanges();

我遇到的一个问题是,当作业被保存时,我没有得到它的主键。当我想创建 Responsibilities 对象并将它们添加到 Job 然后整体保存所有内容时,这尤其是一个问题。就像它没有在 Responsibilities 对象中正确填充 JobID 字段一样。

这样做的正确方法是什么?非常感谢任何指针,

4

2 回答 2

3

我找到了答案。本页末尾的第三篇文章。

https://forums.oracle.com/forums/thread.jspa?messageID=9904561

显然 Visual Studio 2010 没有在 XML 中正确保存 StoreGeneratedPattern 属性。

编辑 1:我认为 Visual Studio 2010 服务包 1 解决了这个问题。

于 2012-10-02T20:54:54.200 回答
1

您需要在列的属性中设置 StoreGeneratedPattern="Identity"

于 2012-10-02T20:31:00.400 回答