实体框架保存更改-can';看不到其他客户端的更改

本文关键字:客户端 其他 看不到 保存更改 框架 -can 实体 | 更新日期: 2023-09-27 18:20:21

我将EF 4.0与VS2010一起使用。我有两个客户在运行我的应用程序。当我在一个客户端中保存更改时,我会在SQL服务器中看到它们,但第二个客户端看不到它们。我需要重新启动应用程序以查看更改。我对所有DB的东西都使用了数据层,我一直保持连接打开(正如我读到的一些帖子中所建议的那样),这可能是问题所在吗???任何变通方法我都无法再次从头开始编写DL。

10倍

实体框架保存更改-can';看不到其他客户端的更改

默认情况下,如果一个实体加载到上下文中,则在查询数据库中包含上述实体的一组实体时,会返回该实例。

您需要将MergeOption设置为OverwriteChanges才能在数据库中获得更改。

context.Products.MergeOption = MergeOption.OverwriteChanges;
var products = context.Products.Where(/**/);

最好是创造一个短暂的环境来避免这样的问题。

在其他连接上更改数据时,EntityFramwork不会更新数据。若要获得新状态,您必须重新创建上下文并再次加载所有数据。