Code First と Code Migrations に問題があります。
User クラスと UserData クラス (姓名などのオプション情報を含む) がありますが、'Add-Migration' または 'Update-Database' コマンドを実行しようとすると、いくつかのエラーが発生します。
User クラスを作成しました。
public class User
{
public int ID { get; set; }
public string UserName { get; set; }
public string EmailAddress { get; set; }
public DateTime DateOfBirth { get; set; }
public UserData UserData { get; set; }
public int UserDataID { get; set; }
}
および UserData クラス:
public class UserData
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
public string Country { get; set; }
}
このセットアップでは、次のエラーが表示されます。
テーブル 'Users' に複数の ID 列が指定されています。テーブルごとに 1 つの ID 列のみが許可されます。
「Update-Database」を実行しようとしたとき (「Add-Migration」コマンドは正常に実行されます)。
既に UserData.cs に と を追加しようとしpublic User User { get; set; }
ましpublic int UserID { get; set; }
たが、「Add-Migration」コマンドでエラーが発生します。
タイプ 'UserData' と 'User' の間の関連付けのプリンシパル エンドを特定できません。この関連付けのプリンシパル エンドは、リレーションシップ fluent API またはデータ アノテーションのいずれかを使用して明示的に構成する必要があります。
これを修正する方法はありますか?
前もって感謝します。