ASP.NET MVC和EF缓存

3

我听说过EF结果的缓存,而且这是默认的。我有以下存储库:

public class Model1Repository
{
    private NEOGOV_IdeasEntities _dataContext;
    public Model1Repository()
    {
        _dataContext = new NEOGOV_IdeasEntities();
    }

    public List<Status> Statuses()
    {
        var query = from i in _dataContext.Statuses select i;
        return query.ToList();
    }
}

接下来是控制器和方法:

public class TestController : Controller
{
    private NEOGOV_Ideas.Models.Model1Repository _repository;
    public TestController()
    {
        _repository = new NEOGOV_Ideas.Models.Model1Repository();
    }

    public ActionResult Test1()
    {
        _repository.Statuses();
        _repository.Statuses();
        _repository.Statuses();
        _repository.Statuses();

        return View();
    }
}

据我理解,第一次调用状态(Statuses)方法后,结果应该会被缓存,但我在 SQL 档案中看到了以下信息:
exec sp_reset_connection 
go
SELECT 
[Extent1].[StatusID] AS [StatusID], 
[Extent1].[StatusName] AS [StatusName]
FROM [dbo].[Statuses] AS [Extent1]
go
exec sp_reset_connection 
go
SELECT 
[Extent1].[StatusID] AS [StatusID], 
[Extent1].[StatusName] AS [StatusName]
FROM [dbo].[Statuses] AS [Extent1]
go
exec sp_reset_connection 
go
SELECT 
[Extent1].[StatusID] AS [StatusID], 
[Extent1].[StatusName] AS [StatusName]
FROM [dbo].[Statuses] AS [Extent1]
go
exec sp_reset_connection 
go
SELECT 
[Extent1].[StatusID] AS [StatusID], 
[Extent1].[StatusName] AS [StatusName]
FROM [dbo].[Statuses] AS [Extent1]
go

什么是不正确的?

1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接