entity-framework - Entity Framework –使用外键插入多个表

标签 entity-framework entity-framework-4

我是EF的新手,并且使用EF4创建了一个简单的模型(请参见下文)。

我在将新记录插入UserRecord实体,然后添加使用新创建的UserRecordId作为其主键的UserDetail实体时遇到问题。当我的数据库具有一对多关系时,下面显示的代码可以正常工作,但是当我将其更改为一对一关系时,我得到的错误如下图所示。

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

对此的任何帮助都非常值得赞赏,就像在网上搜索并尝试各种不同的尝试都没有成功一样。

干杯

最佳答案

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

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.

关于entity-framework - Entity Framework –使用外键插入多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442915/

相关文章:

c# - providerName ="System.Data.EntityClient"的默认超时

entity-framework - Entity Framework 4 是否可以从另一个文件而不是 app.config 读取连接字符串?

c# - 此版本的 SQL Server 不支持已弃用的功能 'INSERT NULL into TIMESTAMP columns'

entity-framework - 使用 Entity Framework Code First 时如何忽略属性

.net-4.0 - 使用Entity Framework 4.0读取CSV文件

c# - DDD 中的创建日期和创建者放在哪里?

entity-framework - 在 Entity Framework 4 中默认禁用延迟加载

wpf - EF EntityObject 不更新关系的数据绑定(bind)

entity-framework - Entity Framework 代码优先和搜索标准

.net - EF Code First 优缺点