EF4应用程序看不到数据库更新

问题描述

| 当我在通用SQL SERVER DB前面运行我的应用程序的2个实例时,我有以下行为: 每次添加或删除对象时,另一个应用程序都会看到它 每次对对象进行更新时,直到我关闭并打开应用程序,对方才会看到它 我正在使用WPF绑定和EF4 有什么线索吗? 谢谢 乔恩     

解决方法

我认为您正在重用上下文,不是吗? EF不会自动加载更改。如果您运行查询,然后修改数据库中的数据,然后再次运行相同的查询,您将获得与第一个查询相同的结果,仅添加新记录。这就是EF的行为方式,这种行为在ORM工具中非常重要。如果要强制上下文重新加载数据并丢弃应用程序中的状态(=所有未保存的更改将丢失),则必须使用
MergeOption.OverwriteChanges
(此处为示例)运行查询或使用
RefreshMode.StoreWins
调用call1ѭ方法。     ,您的应用正在内存中维护状态,即数据的副本。 当您在应用程序的一个实例中更改数据并将数据保存到数据库时,它对应用程序的第二个实例中的内存没有影响。 为了使其在第二个实例中显示,您必须从数据库中获取数据。 我认为您正在做的是刷新数据。 EF所做的是说“我有这5行,服务器上的此数据是否有变动”。只是刷新以前已检索的行。 您需要使用用于在应用程序启动时加载数据的代码。如果要重用dbContext,还必须小心。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...