C# 使用EF处理两个应用程序中的一个表(缓存问题)

C# 使用EF处理两个应用程序中的一个表(缓存问题),c#,asp.net-mvc,entity-framework,entity-framework-4,entity-framework-5,C#,Asp.net Mvc,Entity Framework,Entity Framework 4,Entity Framework 5,我有两个web应用程序(前端和后端) 两个应用程序共享同一个数据库 在开发环境(debug)中,我同时启动这两个程序。 调试时,若我更改后端中任何字段的值,则不会应用前端上的更改。在数据库值中​​这些都改变了。(ieUpdatepassed,SELECTfrom Management Studio提供正确的数据) 我猜EF在前端存储数据的本地副本 只有在我重新启动调试时才会出现更改(在前端)。 前端的代码示例: using (company_unitEntities _fc = new co

我有两个web应用程序(前端和后端)

两个应用程序共享同一个数据库

在开发环境(debug)中,我同时启动这两个程序。

调试时,若我更改后端中任何字段的值,则不会应用前端上的更改。在数据库值中​​这些都改变了。(ie
Update
passed
SELECT
from Management Studio提供正确的数据)

我猜EF在前端存储数据的本地副本

只有在我重新启动调试时才会出现更改(在前端)。

前端的代码示例:

using (company_unitEntities _fc = new company_unitEntities())
{
    var ff = _fc.agency_tamplates_d.ToList();
}
有趣的事实:

当我将
AsNoTracking
方法添加到数据加载中,并观察Prifiler时,我发现'SELECT'查询到达服务器,但更改没有出现

using (company_unitEntities _fc = new company_unitEntities())
{
    var ff = _fc.agency_tamplates_d.AsNoTracking().ToList();
}

这种行为的原因可能是什么


我使用: ASP.NET MVC 4,实体框架

谢谢大家!

UPD:
前端和后端使用不同的实体数据模型。

除非您执行“编辑并继续”,否则我不确定您为什么认为代码更改会自动应用。当然,您必须重新编译并重新启动。每次我想从数据库检索数据时都要重新编译吗?你一定是在开玩笑。对不起,我以为你在更改表/架构,而不仅仅是更改数据。我看错了。是的,EF缓存查询如何使用EF在同一数据库中同时运行两个应用程序?禁用缓存?使用单一实体数据模型?谢谢..我遇到了类似的问题,您可以在检索数据时查看MergeOption.OverwriteChanges。看看这个: