@Андрей тут просто еще класс сам на себя ссылается:
public class UserGroup
{
[Key]
public int UserGroupId { get; set; }
public int Parent_UserGroupId { get; set; }
public UserGroup ParentGroup { get; set; }
public List<UserGroup> ChildGroups { get; set; }
public string UserGroupName { get; set; }
}
@Grundy можно еще попробовать перегрузить у них GetHashCode и Equals, чтобы они для EF видились одним и тем же независимо от контекста, но я хз на сколько это правильно
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public int? ParentId { get; set; }
public User Parent { get; set; }
}
Создает также как и у вас ParentId (этот при чем не является ключом) и Parent_UserId
А это снова работает:
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public int? ParentUserId { get; set; }
public User Parent { get; set; }
}