C# DbContext不';t更新对象的属性

C# DbContext不';t更新对象的属性,c#,.net,wpf,entity-framework,C#,.net,Wpf,Entity Framework,我们有一个全局DataManager,它保存并管理单个DbContext 我们将名为File的表的所有对象绑定到树视图 return this.ArchiveContext.File.Where(f => f.parent_id == null).ToList<File>(); 返回这个.ArchiveContext.File.Where(f=>f.parent_id==null).ToList(); 使用数据绑定更新新项目,这很好。 不幸的是,像名称这样的属性没有 我们认

我们有一个全局
DataManager
,它保存并管理单个
DbContext

我们将名为
File
的表的所有对象绑定到树视图

return this.ArchiveContext.File.Where(f => f.parent_id == null).ToList<File>();
返回这个.ArchiveContext.File.Where(f=>f.parent_id==null).ToList();
使用数据绑定更新新项目,这很好。
不幸的是,像
名称
这样的属性没有

我们认为最好每x秒更新一次。
我们还发现,除非重新创建上下文,否则不会更新任何属性

这显然是错误的做法


使用
DbContext
时的最佳实践是什么?

这是因为当使用从静态DbContext返回的ToList()时,使用的是完全不同的对象数组。假设在列表或类似列表中显示对象数组。您可以使用新分配的对象设置DataSource属性,它将刷新您的所有列表

listBox1.DataSource = null;
listBox1.DataSource = NewList;

您如何尝试更新属性?您是否将其绑定到XAML上?最佳做法是根据需要在数据访问层的深处构造和处理
DbContext
。@KeithPayne调用
SaveChanges
在修改模型时不会保存任何更改。我该如何解决这个问题?@KeithPayne这取决于软件的设计。如果满足了他们存储静态dbContext的要求,这应该不是问题。@nsaddct这是因为您不再有代理类,所以dbContext不会跟踪您的对象。