title: how to make dbContext ExecuteSqlCommand work with new uncommitted entities
body: <p>Is there a way to make ExecuteSqlCommand work with new uncommitted entities.</p>
  
  <pre><code>        using (var context = new EarthContext())
          {
              var country = new Country(){
                  Id = "ZZZ",
                  IsoCodeAlpha2 = "ZZ",
                  IsoCodeNumberic = 999
              };
  
              context.Countries.Add(country);
  
              context.Database.ExecuteSqlCommand(
              @"
                INSERT INTO dbo.Location([Line1],[CountryId])
                VALUES ('random line','ZZZ')
              ");
  
              context.SaveChanges();
          }
  </code></pre>
  
  <p>It gives  a "The INSERT statement conflicted with the FOREIGN KEY constraint" exception because ExecuteSqlCommand executes before the new entities are committed.</p>
  
  <p>*Code must run in one transaction i.e. I cannot commit changes before the ExecuteSqlCommand</p>