title: How to set foreign key property with NOT NULL in multiple relationships
body: <p>I have following two entities </p>
  
  <pre><code>public class User
  {
          [Key]
          public int Id { get; set; } // PK
  
          // for many-to-many relation with Booking.Members
          public virtual ICollection&lt;Booking&gt; Bookings { get; set; }
  }
  
  public class Booking
  {
          public Booking()
          {
              Members = new List&lt;User&gt;();
          }
  
          public int Id { get; set; } // PK
  
          [ForeignKey("UserByCreated")]
          public int UserByCreatedId { get; set; } // FK
          public virtual User UserByCreated { get; set; } 
  
          // for many-to-many relation with User.Bookings
          public virtual ICollection&lt;User&gt; Members { get; set; }
  
  }
  </code></pre>
  
  <p>As shown above, User and Booking have two different relationships, one is many-to-many and the other is foreign key relationship.</p>
  
  <p>What I want to do is having a UserByCreatedId foreign key column with NOT NULL condition in Bookings table.</p>
  
  <p>However, it seems not possible due to another relationship with User. 
  Is there any solution for this?</p>