我有一个WPF应用程序,其中包含一个网格,其中包含我使用EF加载的数据列表.某些其他窗口可以更改网格上加载的相同数据,但使用不同的dbcontext实例.如何查看网格上已更改的数据?我知道我可以刷新一个实体ctx.Entry<MyEntity>(instance).Reload();- 但我希望看到所有的变化,无论我做什么,我只看到旧的价值观.在这种情况下,我既不能使用AsNoTracking也不能创建新DbContext实例.
我看到很多关于首先使用EF代码的示例,其中POCO显示如下:
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public virtual Blog Blog { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,看看Blog房产.不应该是这样的:
private Blog blog;
public virtual Blog Blog
{
get
{
return blog;
}
set
{
blog = value;
if (blog != null)
{
BlogId = blog.BlogId;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的意思是,既然你已经用外键"污染"了你的模型,你不应该至少让它与参考同步吗?或者你不应该依赖于BlogId阅读数据(例如,你想知道特定BlogId列表是否在列表中).或者也许有一个神奇的属性DbContext …
entity-framework ef-code-first entity-framework-4.1 entity-framework-5