我是EF的亲戚,并使用EF4创建了一个简单的模型(见下文)。
我在将新记录插入UserRecord实体并随后添加使用新创建的UserRecordId作为其主键的UserDetail实体时遇到问题。下面显示的代码用于在我的数据库具有一对多关系时工作,但当我将其更改为一对一关系时,我会在下面的图像中突出显示错误。
我认为它不起作用,因为现在没有与UserRecord关联的UserDetails属性,因为它现在是一对一的关系。我的问题是我现在如何以一对一的关系插入新的UserRecord和相应的UserDetail实体?
对于这一点的任何帮助都非常感谢,因为在搜索网络和尝试各种不同的事情时没有成功。
干杯
Cragly
答案 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.