我有一个带有 Azure SQL 的 MVC 4 网站,它们的行为很奇怪。当我在本地运行它(IIS Express)时,我对我的数据库有一个 LINQ 查询,即使它发生了变化,它也会返回相同的数据,并且我可以通过单独的查询看到它的不同。我真的很想知道发生了什么事。
我使用的控制器功能是
public int GetNotificationTotalCount(int userId)
{
int cnt = 0;
var tmp = (from entry in _db.NotificationCounts
where entry.UserId == userId
select entry).FirstOrDefault();
if (tmp != null) // return zeros
cnt = tmp.FlagsCount + tmp.RepliesCount;
return cnt;
}
,其中_db是我的 DataContext 并且 LINQ 返回IQueryable。
我知道它会因为IQueriable缓存数据,但我正在退出这个函数并且 tmp 对象应该被销毁。或者我认为。
是吗?