最初に EF コードに挿入操作を行った後、ナビゲーション プロパティが設定されないことがわかったので、ナビゲーションを再読み込みするメソッドを作成することにしました。2 つのクラスがあるとしましょう:
public class Book
{
public int Id {get ; set;}
public string Title {get ; set;}
public virtual ICollection<Page> 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;}
}
そして、次のコードで私は持っています:
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 => rec.Book); // Here is the wanted method
私はこれを試しましたが、失敗しました
public class DbContext : DbContext
{
///I know this method is wrong, I have no idea to fix it
public T Reload<T>(T Obj, param Func<T,I_DONT_KNOW_WHAT_I_SHOULD_PUT_HERE>[] predicates )
{
foreach(var item in predicates)
{
this.Entry<T>(Obj).Reference(item).Load();
}
}
}
この方法を完了するのを手伝ってくれる人はいますか?