 <p>This is, to me, a good case for many-to-many relationship with additional information (location, timedate, and parcel). Parcel can have many locations (at different times), and a location might belong to many parcels (at different times). I hope I understand you correctly.</p> <p>Here is my suggested design:</p> <pre><code>public class Parcel { public int ParcelId { get; set; } public List&lt;ParcelAssignment&gt; ParcelAssignments { get; set; } } public class Location { [Key] public int LocationId { get; set; } public LocationType LocationType { get; set; } public List&lt;ParcelAssignment&gt; ParcelAssignments { get; set; } } public enum LocationType { Warehouse, Truck } public class ParcelAssignment { [Key] public int ParcelAssignmentId { get; set; } [Required] public int LocationId { get; set; } [ForeignKey("LocationId")] public Location Location { get; set; } [Required] public int ParcelId { get; set; } [ForeignKey("ParcelId")] public Parcel Parcel { get; set; } public DateTime DateOfAssignment { get; set; } } </code></pre> <p>Your fluent api that goes to your dbcontext class:</p> <pre><code>modelBuilder.Entity&lt;ParcelAssignment&gt;() .HasRequired(pa =&gt; pa.Parcel) .WithMany(p =&gt; p.ParcelAssignments) .HasForeignKey(pa =&gt; pa.ParcelId); modelBuilder.Entity&lt;ParcelAssignment&gt;() .HasRequired(pa =&gt; pa.Location) .WithMany(l =&gt; l.ParcelAssignments) .HasForeignKey(pa =&gt; pa.LocationId); </code></pre> <p>You can read more about many-to-many relationships on EF here: </p> <p><a href="https://practiceaspnet.wordpress.com/2015/03/25/understanding-many-to-many-relationships-in-entity-framework-part-i/" rel="nofollow">https://practiceaspnet.wordpress.com/2015/03/25/understanding-many-to-many-relationships-in-entity-framework-part-i/</a></p> <p><a href="https://practiceaspnet.wordpress.com/2015/03/25/understanding-many-to-many-relationships-in-entity-framework-part-ii/" rel="nofollow">https://practiceaspnet.wordpress.com/2015/03/25/understanding-many-to-many-relationships-in-entity-framework-part-ii/</a></p>