title: Two same class types in entity framework class issue
body: <p>I am implementing feature that allows users to follow each other.
  I have database tables:</p>
  
  <pre><code>User{UserId, FirstName, LastName etc.}
  Followings{FollowerUserId, FollowingUserId, CreatedOnDate etc.}
  </code></pre>
  
  <p>So I added EF class:</p>
  
  <pre><code>public class Follow
      {
          [Key, Column(Order = 1)]
          public Guid FollowerUserId { get; set; }
          [Key, Column(Order = 2)]
          public Guid FollowUserId { get; set; }        
          public DateTime CreatedOnDate { get; set; }
  
          public virtual User Follower { get; set; }
          public virtual User Following { get; set; }
      }
  </code></pre>
  
  <p>The last two virtual properties couse issue.
  When I call:</p>
  
  <pre><code>var model = con.Follows.Where(x =&gt; x.FollowerUserId == uid);
  </code></pre>
  
  <p>I get following exception:</p>
  
  <pre><code>Invalid column name 'Following_UserId'.
  </code></pre>
  
  <p>The issue is probably caused because of two User objects in one class. Any idea how to workaround this? 
  <br/><strong>UPDATE</strong><br/></p>
  
  <pre><code>public class User
      {
  
          public Guid UserId { get; set; }
          ...
          public virtual ICollection&lt;Follow&gt; Following { get; set; }
          public virtual ICollection&lt;Follow&gt; Followers { get; set; }
      }
  </code></pre>