我对 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"));
但我只收到此错误消息,我不知道出了什么问题。
类型中的每个属性名称都必须是唯一的。已定义属性名称“用户名”。
我的数据库设置看起来像类,在播放器表中名称是唯一的。它在 User 表中不是唯一的。用户可以在没有玩家的情况下存在,反之亦然。(实际上我不想在 Player 类中有任何 User 属性,但我认为这是一个要求?!)