title: NavigationProperty has wrong data
body: <p>I have a very simple example I am trying to set up with the following schema...</p>
  
  <pre><code>public class Foo
  {
      public int Id { get; set; }
      public string Name { get; set; }
      public string SomethingVeryBig { get; set; }
      public List&lt;Bar&gt; Bars { get; set; }
  }
  
  public class Bar
  {
      public int Id { get; set; }
      public int FooId { get; set; }
      public string Name { get; set; }
  }
  </code></pre>
  
  <p>What I am trying to test is using Breeze in a way disconnected from my data repository, so I am hand coding from the Fluent API my DBContext.  Context code below, "FoosDb" is just an sdf file deployed with the project for the Breeze Metadata and is not a real database we are saving data into.</p>
  
  <pre><code>public class FoosDbContext : DbContext
  {
      public FoosDbContext() : base(nameOrConnectionString: "FoosDb")
      {
          Database.SetInitializer&lt;FoosDbContext&gt;(null);
      }
  
      public DbSet&lt;Foo&gt; Foos { get; set; }
      public DbSet&lt;Bar&gt; Bars { get; set; }
      public DbSet&lt;Link&gt; Links { get; set; }
  
      protected override void OnModelCreating(DbModelBuilder modelBuilder)
      {
          modelBuilder.Entity&lt;Foo&gt;().HasKey(f =&gt; f.Id);
          modelBuilder.Entity&lt;Bar&gt;().HasKey(b =&gt; b.Id);
          modelBuilder.Entity&lt;Foo&gt;().HasMany(f =&gt; f.Bars).WithRequired().HasForeignKey(b =&gt; b.FooId);
      }
  }
  
  public class FoosContextProvider : EFContextProvider&lt;FoosDbContext&gt;
  {
      public FoosContextProvider() : base() { }
  
      protected override List&lt;KeyMapping&gt; SaveChangesCore(Dictionary&lt;Type, List&lt;EntityInfo&gt;&gt; saveMap)
      {
          return new List&lt;KeyMapping&gt;();
      }
  
      protected override bool BeforeSaveEntity(EntityInfo entityInfo)
      {
          return true;
      }
  
      protected override Dictionary&lt;Type, List&lt;EntityInfo&gt;&gt; BeforeSaveEntities(Dictionary&lt;Type, List&lt;EntityInfo&gt;&gt; saveMap)
      {
          // return a map of those entities we want saved.
          return saveMap;
      }
  }
  </code></pre>
  
  <p>Everything works great and I am testing all CRUD operations via a project from the Hot Towel Template, but when I query Foos from my controller the json data looks perfect, but when it gets transferred to Breeze/Knockout Observables the data in each "Foo.Bars" list is wrong.  It is taking Bar.Id = 1 and always putting that on Foo.Id = 1, Bar.Id = 2 and putting that on Foo.Id = 2, and so on.  Even though in my example Bar.Id = 2 should be on Foo.Id = 1.</p>