重新加载导航属性EF

时间:2018-11-02 09:20:43

标签: c# entity-framework

我将EF6与DB-First一起使用。我的数据库包含2个表:Authors和Books。使用EF加载对象后,我直接删除了数据库中的行(例如在SQL Manegment Studio中或使用ExecuteNonQuery()),如何重新加载导航属性?在Load()之后,我可以在myObj中看到相同的记录Books。如果我直接插入数据库,则在myObj上的Load()之后可以看到新的记录Books。

var cnt = new Entities();
var myObj = cnt.Authors.
        Where(x => x.Name = "Author Name").
        Include("Books").
        FirstOrDefault();
// Delete directly in database (ex: Delete From Books Where ID = ...)
// DeleteDirect();
cnt.Entry(myObj).Collection("Books").Load();

1 个答案:

答案 0 :(得分:0)

使用DataContext的Refresh方法刷新数据的本地副本:

appsettings.json