Asp.net mvc 3 实体框架缓存?

Asp.net mvc 3 实体框架缓存?,asp.net-mvc-3,sql-server-2008,entity-framework,unity-container,Asp.net Mvc 3,Sql Server 2008,Entity Framework,Unity Container,我有一个使用EntityFramework4.1的项目。该模型是从SQL Server 2008 R2计算机上的数据库建模的 我有一个表,它有3个nvarchar列、2个bit列和1个datetime列 应用程序正在使用存储库模式和依赖项注入。DI容器中的所有项都设置为瞬态,但上下文设置为分层的除外 现在,当我在实体框架中对模型运行lambda查询时,它会按预期提取数据。例如: var someData = _dataRepository.Get(data => data.Name ==

我有一个使用EntityFramework4.1的项目。该模型是从SQL Server 2008 R2计算机上的数据库建模的

我有一个表,它有3个nvarchar列、2个bit列和1个datetime列

应用程序正在使用存储库模式和依赖项注入。DI容器中的所有项都设置为瞬态,但上下文设置为分层的除外

现在,当我在实体框架中对模型运行lambda查询时,它会按预期提取数据。例如:

 var someData = _dataRepository.Get(data => data.Name == name && data.IsEnabled);
基本上,存储库的Get方法是.Where(filter)linq表达式的包装器

所以问题是:

当我将数据库(通过SMS或使用.SaveChanges在代码内)更新到数据库中的bit列或datetime列并重新查询数据时,返回的查询数据将返回预期的结果。但是,每当我更新(SMS/.SaveChanges)其中一个nvarchar列并重新查询时,它都会返回nvarchar用于包含以前查询的“旧”数据,而不是更新后的数据


实体框架是否有导致这种情况发生的继承缓存?

当您说“更新”时,您的意思是同时提交更改吗?尝试将表重新放在设计器上是的,提交。更新了问题,以便更好地解释。我认为您保留了对某个字符串对象的引用。值类型已正确更新,但可能的引用类型未更新。