我是Linq-to-Entity的菜鸟。这些是我的数据库表。
create table Jobs
( ID NUMBER PRIMARY KEY,
....
)
create table Responsibilities
( ID NUMBER PRIMARY KEY,
JobID NUMBER
....
)
JobID列是引用作业(ID)的外键。
使用这些表,在Visual Studio中我自动创建允许我与这些表接口的类。然后我尝试创建Jobs并将它们插入数据库。我在每个表上都有触发器,为主键的每个表生成一个唯一的ID。下面是一段创建Job的代码片段。
using (Workflow.WorkflowEntities entity = new Workflow.WorkflowEntities(connectionString))
{
JOBS j = new JOBS();
entity.AddToJOBS(j);
entity.SaveChanges();
我遇到的一个问题是,当保存作业时,我没有得到主键。当我想创建责任对象并将它们添加到作业然后集中保存所有内容时,这尤其成问题。它就像它没有在Responsibilities对象中正确填充JobID字段。
这样做的正确方法是什么?任何指针都非常感谢,
MJ
答案 0 :(得分:3)
我找到了答案。本页末尾第3页。
https://forums.oracle.com/forums/thread.jspa?messageID=9904561
显然,Visual Studio 2010无法正确保存XML中的StoreGeneratedPattern属性。
编辑1:我认为Visual Studio 2010 Service Pack 1解决了这个问题。
答案 1 :(得分:1)
您需要在列的属性中设置StoreGeneratedPattern =“Identity”