EF でいくつかのマッピングの問題があります。
これは私のクラスです
public class User{
public Guid Id { get; set; }
// Fullname of the user account owner
public string Name { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public Player Player { get; set; }
}
public class Player
{
public Guid Id { get; set; }
public string Name { get; set; }
public virtual User User { get; set; }
}
問題なく動作しますが、このクラスでナビゲーション プロパティ Player と User を作成したいと考えています。私はこの流暢なコードを持っています:
modelBuilder.Entity<User>()
.HasOptional(x => x.Player)
.WithOptionalDependent(x => x.User)
.Map(x => x.MapKey("Username"));
しかし、このエラー メッセージしか表示されず、何が問題なのかわかりません。
型の各プロパティ名は一意である必要があります。プロパティ名 'Username' は既に定義されています。
私のDBセットアップはクラスのように見えます.playerテーブルでは名前は一意です。User テーブルで一意ではありません。ユーザーはプレーヤーなしで存在でき、その逆も可能です。(実際には、Player クラス内に User プロパティは必要ありませんが、それは要件だと思いますか?!)