实体框架 - 使用外键插入多个表

时间:2010-12-14 18:44:07

标签: entity-framework entity-framework-4

我是EF的亲戚,并使用EF4创建了一个简单的模型(见下文)。 alt text

我在将新记录插入UserRecord实体并随后添加使用新创建的UserRecordId作为其主键的UserDetail实体时遇到问题。下面显示的代码用于在我的数据库具有一对多关系时工作,但当我将其更改为一对一关系时,我会在下面的图像中突出显示错误。 alt text

我认为它不起作用,因为现在没有与UserRecord关联的UserDetails属性,因为它现在是一对一的关系。我的问题是我现在如何以一对一的关系插入新的UserRecord和相应的UserDetail实体?

对于这一点的任何帮助都非常感谢,因为在搜索网络和尝试各种不同的事情时没有成功。

干杯

Cragly

1 个答案:

答案 0 :(得分:17)

您的UserDetail对象应该有一个链接回UserRecord对象的属性。 (它可能被称为User?如果我正在正确阅读下面的导航部分。)如果您将该属性设置为新的未提交的UserRecord对象,它将在提交时自动填写密钥两个对象。

UserRecord userRecord = new UserRecord();
// whatever

UserDetail userDetail = new UserDetail();
userDetail.User = userRecord; // This will auto-fill the FK during commit.
// whatever

// Add both userRecord and userDetail to the context and commit.