title: Create a method to pass the navigators and reload the navigators in that method
body: <p>After I found out that navigation properties does not populate after insert operation in EF Code first , I decide to create a method to reload the navigations. Lets think we have two classes : </p>
  
  <pre><code>public class Book
  {
      public int Id {get ; set;}
      public string Title {get ; set;}
      public virtual ICollection&lt;Page&gt; Pages {get ; set;}
  }
  
  public class Page
  {
      public int Id {get ; set;}
      public string Content {get ; set;}
      public int BookId {get ; set;}
      public virtual Book Book {get ; set;}
  }
  </code></pre>
  
  <p>and in the following code I have :</p>
  
  <pre><code>DbContext db = new DbContext()
  
  Page p = new Page();
  p.BookId = 1;
  p.Content = "Sample Content";
  
  db.Pages.Add(p);
  
  db.SaveChanges();
  db.Reload(p, rec =&gt; rec.Book); // Here is the wanted method
  </code></pre>
  
  <p>I tried this one , but I failed </p>
  
  <pre><code>public class DbContext : DbContext
  {
      ///I know this method is wrong, I have no idea to fix it
      public T Reload&lt;T&gt;(T Obj, param Func&lt;T,I_DONT_KNOW_WHAT_I_SHOULD_PUT_HERE&gt;[] predicates )
      {
          foreach(var item in predicates)
          {
               this.Entry&lt;T&gt;(Obj).Reference(item).Load();
          }
      }
  }
  </code></pre>
  
  <p>Is there anybody out there to help me complete this method ?</p>