C# 如何使用EF CodeFirst在用户类中添加用户列表

C# 如何使用EF CodeFirst在用户类中添加用户列表,c#,entity-framework,ef-code-first,code-first,entity-framework-6,C#,Entity Framework,Ef Code First,Code First,Entity Framework 6,我正在使用EF CodeFirst创建我的DB 我创建了以下用户类- public class User { public User() { } [Key] public int ID { get; set; } [Required, MinLength(4), MaxLength(20)] public string Name { get; set; }

我正在使用EF CodeFirst创建我的
DB

我创建了以下用户类-

 public class User
    {
        public User()
        {

        }

        [Key]
        public int ID { get; set; }

        [Required, MinLength(4), MaxLength(20)]
        public string Name { get; set; }

        [Required, MinLength(8), MaxLength(40)]
        public string Email { get; set; }

        [Required, MinLength(8), MaxLength(15)]
        public string Password { get; set; }

        [Required]
        public DateTime JoinedOn { get; set; }

        public List<Users> Friends { get; set; } // Problem Adding List of Users in User Class
    }
公共类用户
{
公共用户()
{
}
[关键]
公共int ID{get;set;}
[必需,最小长度(4),最大长度(20)]
公共字符串名称{get;set;}
[必需,最小长度(8),最大长度(40)]
公共字符串电子邮件{get;set;}
[必需,最小长度(8),最大长度(15)]
公共字符串密码{get;set;}
[必需]
public DateTime JoinedOn{get;set;}
公共列表好友{get;set;}//在用户类中添加用户列表时出现问题
}
我想为每个用户存储朋友的
列表
。而且,我无法将
朋友集合
属性添加到此
用户类

我花了很多时间尝试这个


有没有办法达到同样的效果?

下面的代码解决了我的问题-

public class User
{
    public User()
    {
        Users = new List<User>();
        Friends = new List<User>();
        ChatRooms = new List<ChatRoom>();
    }

    [Key]
    public int ID { get; set; }

    [Required, MinLength(4), MaxLength(20)]
    public string Name { get; set; }

    [Required, MinLength(8), MaxLength(40)]
    public string Email { get; set; }

    [Required, MinLength(8), MaxLength(15)]
    public string Password { get; set; }

    [Required]
    public DateTime JoinedOn { get; set; }

    [InverseProperty("Friends")]
    public virtual ICollection<User> Users { get; set; }
    public virtual ICollection<User> Friends { get; set; }

    [InverseProperty("Participants")]
    public virtual ICollection<ChatRoom> ChatRooms { get; set; }
}
公共类用户
{
公共用户()
{
用户=新列表();
朋友=新列表();
聊天室=新列表();
}
[关键]
公共int ID{get;set;}
[必需,最小长度(4),最大长度(20)]
公共字符串名称{get;set;}
[必需,最小长度(8),最大长度(40)]
公共字符串电子邮件{get;set;}
[必需,最小长度(8),最大长度(15)]
公共字符串密码{get;set;}
[必需]
public DateTime JoinedOn{get;set;}
[反向财产(“朋友”)]
公共虚拟ICollection用户{get;set;}
公共虚拟ICollection好友{get;set;}
[逆属性(“参与者”)]
公共虚拟ICollection聊天室{get;set;}
}
我刚才补充说-

[InverseProperty("Friends")]
public virtual ICollection<User> Users { get; set; }
public virtual ICollection<User> Friends { get; set; }
[InverseProperty(“朋友”)]
公共虚拟ICollection用户{get;set;}
公共虚拟ICollection好友{get;set;}
谢谢!每个人