缓存 – 实体框架的缓存查询5
发布时间:2020-05-28 09:03:58 所属栏目:asp.Net 来源:互联网
导读:我明白,EF 5会自动缓存查询,但是它是根据上下文还是整体来做?我们正在使用MVC,并且使用block封装调用以处理dbcontext.例如: public class Employee{ public string FirstName {get; set;} public string LastName {get; set;} public int ID {get; s
|
我明白,EF 5会自动缓存查询,但是它是根据上下文还是整体来做?我们正在使用MVC,并且使用block封装调用以处理dbcontext.例如: public class Employee
{
public string FirstName {get; set;}
public string LastName {get; set;}
public int ID {get; set;}
}
public class EmployeeQueryByFirstName : IQueryObject<Employee>
{
private string _firstName;
public void Set(string FirstName)
{
_firstName = FirstName;
}
public Expression<Func<Employee,bool>> AsExpression()
{
return (e=>e.FirstName == this._firstName);
}
}
public class RepoExcerpt
{
public TEntity Find<TEntity>(IQueryObject<TEntity> queryObject)
where TEntity : class
{
using (var conn = ServiceLocator.IOC.Resolve<IDbContext>())
{
var query = (from q in conn.Set<TEntity>()
select q);
query = query.Where(queryObject.AsExpression());
return query.FirstOrDefault();
}
}
}
下一次我们在存储库中调用Find,EF 5会有这个查询的缓存版本,还是会消失,因为我们将得到一个新的dbcontext?如果我想要缓存查询,我需要处理吗? 解决方法这些查询被整体缓存,因此您可以安全地为每个请求创建和处理DbContext实例.无论如何,这是我的优点.Microsoft文档可以找到 here – 请参见第3.2节查询计划缓存. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 尝试检索不存在的列的实体框架
- asp.net-mvc-4 – 未找到入口点异常
- asp.net-mvc – 如何将MVC路由添加到特定控制器?
- asp.net-mvc – 如何从强类型视图中隐藏实体框架实体属性?
- asp.net-mvc-3 – 添加属性以选择列表选项
- asp.net – Isapi过滤器无法在IIS 7上运行(在IIS 6上运行)
- ASP.NET – 控制事件不在Repeater内部触发
- Asp.net Identity 2.0更新用户
- asp.net-mvc-4 – 如何在ASP.NET MVC中使用React
- asp.net – 按钮单击在更新面板中不起作用
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC会话状态
- 如何防止ASP.NET站点的图像热链接?
- asp.net – 我何时可以在Response.WriteFile()中
- asp.net-mvc – MVC动作过滤器集合已修改;枚举操
- 如何关闭ASP.NET必需的字段验证器“丢失焦点”行
- 在ASP.NET中添加动态控件,1.1和2.0之间有区别吗?
- asp.net – 在为app_offline.htm提供特定URL时,将
- asp.net – 在IIS中将WebAPI添加为子/嵌套应用程
- asp.net – 更改单个URL查询字符串值
- asp.net-mvc – 关于使用重写的AuthorizeAttribu
热点阅读
