entityframework 加不加 using dbcontext

转自:http://stackoverflow.com/questions/17944837/ef-entity-framework-usage-of-using-statement


得出的结论是 需要加上using,new dbcontext不会占用很长时间,我测试过,1000个,new dbcontext,并 find,savechanges,花了 8秒。内存和cpu没有明显的增大,所以性能上是可以的。

用using可以避免一些错误,比如dal中的方法都公用一个dbcontext,那么某一个方法出现异常会导致使用同一dbcontext实例的方法会出错。

using可以立刻释放,不用等到gc来释放。


 

I think you will find many suggesting this style of pattern. Not just me or HenkDBContext handling

  • Yes, Ideally Using statements for DBContext subtypes
  • Even better Unit Of Work patterns that are managed with Using, that have a context and dispose the contextJust 1 of many UoW examples, this one from Julie Lerman
  • The Unit Of Work Manager should be New each Http request
  • The context is NOT thread safe so make sure each thread has its own context.
  • Let EF cache things behind the scenes.
  • Test Context creation times. after several Http request. Do you still have a concern?
  • Expect problems if you store the context in static. any sort of concurrent access will hurt and if you are using parallel AJAX calls, assume 90+% chance of problems if using a static single context.

For some performance tips, well worth a read



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值