That's a terrible idea!
Create a single table for your contacts, and add a foreign key relationship with the users table.
public class User
{
[Key]
public Guid Id { get; set; }
public virtual IList<Contact> Contacts { get; set; }
... Other properties ...
}
public class Contact
{
[Key]
public Guid Id { get; set; }
public Guid UserId { get; set; }
public virtual User User { get; set; }
[Required]
[MaxLength(20), MinLength(6)]
public string Phone { get; set; }
[MaxLength(45), MinLength(2)]
public string Name { get; set; }
[MaxLength(100)]
public string Email { get; set; }
}
Relationships, navigation properties, and foreign keys - EF6 | Microsoft Docs[
^]
You'll also want to check your
[Key]
definition - most systems allow multiple contacts with the same telephone number, even for the same parent entity. If you really want a unique telephone number per user, then create a composite key.
public class Contact
{
[Key, Column(Order = 0)]
public Guid UserId { get; set; }
public virtual User User { get; set; }
[Required]
[MaxLength(20), MinLength(6)]
[Key, Column(Order = 1)]
public string Phone { get; set; }
... Other properties ...
}
Composite Keys - Code First Data Annotations - EF6 | Microsoft Docs[
^]