[英]initializing the entity framework objectcontext on every call
我有一个使用Entity框架作为数据访问层的Web应用程序。 现在我正在初始化每个请求从ObjectContext继承的实体类。
我只是想知道从性能的角度来看是否存在任何缺点或后果。 缓存此对象是否更好?
请注意,我有大型edmx文件,有些包含大约50个表
每个请求初始化一个ObjectContext可能是在Web应用程序中实现EF的最常用方法。 这样做不是性能问题,初始化非常便宜。 ObjectContext是EF的工作单元模式的实现,因此将数据库中的对话封装在单个工作单元中是一种很好的做法。 跨请求缓存ObjectContext可能会有问题,因为在Web应用程序中不能轻易处理长时间运行的数据库对话,因为您永远不知道来自给定客户端的下一个请求何时到达。
在Web应用程序中处理Entity Framework时,建议使用此方法。
但是,如果可以将表划分为独立区域,则可以将包含50个表的上下文分区为几个上下文。 然后,您将更容易管理上下文。
不建议缓存上下文。 ObjectContext不是线程安全的。 IT也将违反工作单元模式。 这将导致不必要的行为,例如在单个事务中提交多个用户的更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.