【发布时间】:2011-03-27 13:31:49
【问题描述】:
我发现了这个问题How to cache data in a MVC application,我想知道能否将这种方法用于 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。首先将您的数据转换为列表。例如用户 = dc.Users.ToList();
标签: asp.net-mvc-2 caching asqueryable