ユーザーが格納されている User エンティティがあります。一部のユーザー (管理者) については、詳細を追加したいと考えています。次のコードを書きました。
public partial class UserProfile
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Display(Name = "EMail")]
[Required]
public string UserName { get; set; }
[ForeignKey("AdminDetailID")]
public virtual AdminDetail AdminDetail { get; set; }
public int? AdminDetailID { get; set; }
}
public class AdminDetail
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AdminDetailID { get; set; }
[ForeignKey("UserId")]
public virtual UserProfile UserProfile { get; set; }
public int UserId { get; set; }
}
たとえば、次のように記述して、AdminDetail テーブルから User Profile テーブルに戻るのが好きです。admin.UserProfile.UserName. ただし、Database-Update を実行すると、次のメッセージが表示されます。
この関連付けのプリンシパル エンドは、リレーションシップ fluent API またはデータ アノテーションを使用して明示的に構成する必要があります。
UserProfile プロパティを削除すると、すべてが正常に機能します。AdminDetail クラス内で「戻る」ナビゲーションを作成するにはどうすればよいですか?