【问题标题】:Can existing entities be related to other newly added entity to ObjectContext by adding them in its collection navigation property?现有实体是否可以通过将它们添加到其集合导航属性中来与 ObjectContext 中其他新添加的实体相关联?
【发布时间】:2011-04-03 18:35:05
【问题描述】:

第一组实体中的外键是否会更新为新添加实体的 IDENTITY ?这可能吗?

我有一个用户表和代理表。

用户有一个可以为空的 AgencyId 外键。

所以在我的实体框架 ObjectContext 中,我将有一个代理实体,它将用户作为用户类型集合的导航属性。

我向代理实体添加了一个新对象,然后我知道我可以将用户对象添加到该代理实体,它们将被保存到数据库中。

但我想要的是:

我想将已经存在的用户添加到该机构实体,以便在数据库中为该新机构生成的任何身份都将进入用户表的外键“AgencyId”,以供添加到该机构的用户使用。

这可以使用实体框架来完成吗?

【问题讨论】:

    标签: entity-framework-4 ado.net-entity-data-model


    【解决方案1】:

    当然可以。做吧:

    var agency = new Agency { ... };
    
    foreach (var user in context.Users.Where(u => ...))
    {
        agency.Users.Add(user);
    }
    
    context.Agencies.Add(agency);
    context.SaveChanges();
    

    用户实体中的所有外键都将设置为插入代理的新 id。

    【讨论】:

    • 其实我之前也试过了,但是遇到了一些错误,所以我想可能是我错过了什么,所以我在这里问了。我会再试一次。 - 谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    相关资源
    最近更新 更多