1

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; } 
}

ユーザーはエージェンシーと 1 対多の関係にあります。ユーザーを作成するときは、データベースから Agency を取得し、 を に設定し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 ID はエージェンシー テーブルに新しいエージェンシー レコードを挿入し、新しく作成されたユーザーでその ID を使用します。結局、2つの代理店に行き着きました...

4

1 に答える 1