title: ASP.NET Model Relationship
body: <p>I'm currently learning ASP.NET MVC and Web API. </p>
  
  <p>I'm trying to create a User Model. Users can have any number of UserContacts. UserContacts reference the User it is a contact of and the User who is the contact. I have made a model called UserContact because attached to this Model is additional information.</p>
  
  <pre><code>public class User
  {
      public int UserID { get; set; }
      public string FirstName { get; set; }
      public string LastName { get; set; }
  }
  
  public class UserContact
  {
      public int UserContactID { get; set; }
  
      public int UserID { get; set; }
      [ForeignKey("UserID"), Column(Order = 0)]
      [Required]
      public User User { get; set; }
  
      public int ContactID { get; set; }
      [ForeignKey("ContactID"), Column(Order = 1)]
      [Required]
      public User Contact { get; set; }
  
      public DateTime ContactSince { get; set; }
  }
  </code></pre>
  
  <p>So this gives me an error referring to cascading Delete. How do I set up a relationship like this where two foreign keys point to the same Model type? I have yet to grasp Entity Framework syntax as well. If I don't have an ICollection of UserContacts in the User model, does this hinder my ability to grab the UserContacts associated with that User?</p>