0

デフォルトの aspnet_Membership スキーマで EF5 を使用しています。

aspnet_Membership テーブルを参照する外部キーを持つカスタム User オブジェクトがあります。

User オブジェクトの外部キーは「AspnetID」と呼ばれます

この 1 対 1 の関係を流暢な API にマッピングする必要がありますが、うまくいきません。

オブジェクトは次のようになります。

public class aspnet_Membership
{
    [Key]
    public Guid UserId { get; set; }
    public string Email { get; set; }
    public DateTime CreateDate { get; set; }

    public aspnet_Users aspnet_User { get; set; }
    public User User { get; set; }
}

public class User
{
    public int UserID { get; set; }

    [MaxLength(50)]
    public string FirstName { get; set; }

    [MaxLength(50)]
    public string LastName { get; set; }

    public Guid AspnetID { get; set; } //This is the foreign key referencing aspnet_Membership

    public virtual aspnet_Membership Aspnet_Membership { get; set; }
}

私はこれを試しました:

modelBuilder.Entity<User>().HasRequired(u => u.Aspnet_Membership).WithOptional(u => u.User); 

しかし、外部キー名を何らかの方法でマップする必要があることはわかっています...何かアイデアはありますか?

4

1 に答える 1

0

WithOptional() の代わりに WithRequiredPricipal() を使用する必要があります

   modelBuilder.Entity<User>()
        .HasRequired(t => t.Aspnet_Membership)
        .WithRequiredPrincipal(t => t.User);
于 2013-02-11T21:02:08.413 に答える