我发现这个问题How to cache data in a MVC application,我想知道能够使用IQueryable数据的这种方法。ASP.NET MVC - 缓存IQueryable数据
Public Function GetUsers() As IQueryable(Of User) Implements IUserRepository.GetUsers
Dim users = (From u In dc.Users
Select u)
Return users.AsQueryable
End Function
我可以改变这
Public Function GetUsers() As IQueryable(Of User) Implements IUserRepository.GetUsers
Dim users = Cache("users")
If users Is Nothing Then
users = (From u In dc.Users
Select u)
Cache("users") = users
End If
Return users.AsQueryable
End Function
这将工作。但是你不应该缓存IQueryable,因为它们持有DataContext。首先将数据转换为列表。例如users = dc.Users.ToList(); – Jacob 2010-08-09 22:57:07