title: Linq to SQL datacontext not updating for foreign key relationships
body: <p>I'm writing a database test against a repository that uses L2S.  In my database I have a <code>Manifest</code> entity and an <code>AllocatedTransaction</code> entity.  The AllocatedTransaction entity has a foreign key to the Manifest's id.  The DDL looks something like this:</p>
  
  <pre><code>Manifest:
  Id - int - identity
  
  AllocateTransaction:
  Id - int - identity
  Quantity - int
  ManifestId - FK to Manifest
  </code></pre>
  
  <p>In my test, I'm checking to see if AllocatedTransactions are coming back with the Manifest.  The test looks like this:</p>
  
  <pre><code>[TestMethod]
  public void FindByIdTest()
  {
      using (data.EZTracDataContext dataContext = new data.EZTracDataContext())
      {
          using (new TransactionScope())
          {
              data.Manifest manifest = _testDataProvider.AddManifest(dataContext);
  
              data.AllocatedTransaction allocatedTransaction = _testDataProvider.AddEligibilityAllocated(dataContext, 5, manifest.Id);
  
              ManifestRepository repository = CreateRepository(dataContext);
  
              var actual = repository.FindById(manifest.Id).AllocatedTransactions;
              var expected = new[] { new domain.AllocatedTransaction(allocatedTransaction.Id, 5, manifest.Id) }.ToList();
  
              CollectionAssertAreEqual(actual, expected);
          }
      }
  }
  </code></pre>
  
  <p>The <code>_testDataProvider</code> just adds records to the database using the passed in <code>dataContext</code>.  The <code>FindById</code> method looks like this:</p>
  
  <pre><code>public domain.Manifest FindById(int id)
  {
      var persistedManifest = GetPersistedManifest(id);
      var requestedManifest = GetDomainManifestFromData(persistedManifest);
      return requestedManifest;
  }
  
  private Manifest GetPersistedManifest(int manifestId)
  {
      return (from manifests in DataContext.Manifests
              where manifests.Id == manifestId
              select manifests).FirstOrDefault();
  }
  </code></pre>
  
  <p>My problem is the Manifest entity coming back from the DataContext does not have the AllocateTransaction associated to it.  The strange thing is pre-existing Manifests <strong><em>do</em></strong> come back with their AllocatedTransactions attached.  Could using the same DataContext object for inserting the records and retrieving the records be causing this?  Is this a bug with L2S?</p>