第一组实体中的外键是否会使用新添加的实体的IDENTITY进行更新?这可能吗?
我有一个用户表和代理商表。
用户拥有一个可以为null的AgencyId外键。
所以在我的Entity Framework ObjectContext中,我将有一个Agency实体,它将Users作为Users类型集合的导航属性。
我向Agency实体添加了一个新对象,然后我知道我可以将Users对象添加到该Agency实体,并将它们保存到数据库中。
但我想要的是:
我想将已有的用户添加到该代理实体,以便在数据库中为该新代理生成任何标识,它将进入添加到此代理的用户的用户表的外键“AgencyId”。
可以使用实体框架完成吗?
答案 0 :(得分:1)
当然可以做到。只是做:
var agency = new Agency { ... };
foreach (var user in context.Users.Where(u => ...))
{
agency.Users.Add(user);
}
context.Agencies.Add(agency);
context.SaveChanges();
用户实体中的所有外键都将设置为插入代理商的新ID。