在EF中如何处理每个请求的上下文

实体框架的上下文旨在用作短期实例,以提供最佳性能体验。 上下文应短时保存并丢弃,因此,实现的上下文非常轻便,且可在需要时再次利用元数据。 在 Web 场景中,请务必记住这一点,并不要让上下文留存时间超过单个请求的持续时间。 同样,在非 Web 场景中,应根据对实体框架中不同级别缓存的理解来决定是否丢弃上下文。 一般而言,应避免在应用程序的整个生命周期中拥有上下文实例,以及每个线程的上下文和静态上下文。

using (NorthwindEntities context = new NorthwindEntities())
{
    var orders = from o in context.Orders
                 where o.Customer.LastName.StartsWith(lastNameParameter)
                 select o;

    orders.Load();

    var customers = from c in context.Customers
                    where c.LastName.StartsWith(lastNameParameter)
                    select c;

    foreach (Customer customer in customers)
    {
        ...
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值