我正在使用 ASP.Net Identity 2。我创建了一个用户,如下所示:
public class User : IdentityUser<int, CustomUserLogin, CustomUserRole, CustomUserClaim>
{
public virtual Agency Agency { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
用户是代理机构的成员:
public class Agency
{
public int Id { get; set; }
public string Name { get; set; }
public string TaxId { get; set; }
public List<User> Brokers { get; set; }
}
用户与代理商具有一对多的关系。创建用户时,我将从数据库中检索代理,然后将其设置Agency
为User
. 这就是事情出错的地方。
var manager = Identity.GetUserManager();
manager.Create(new User()
{
UserName = "chuckconway",
Email = "chuck@winnemen.com",
FirstName = "Chuck",
LastName = "Conway",
Agency = agency
}, "123");
ASP.NET Identity 不是引用 Agency 并将主键插入到 User 表中,而是将新的机构记录插入到机构表中,并将它的 id 用于新创建的用户。我最终与两个机构...