【发布时间】:2010-12-31 03:22:08
【问题描述】:
我只是想知道 DataContext 应该真正存在多久。像 Dino Esposito 的 Microsoft .NET: Architecting Applications for the Enterprise 这样的所有模式和实践书籍都告诉你,datacontext 不能长期存在,也不应该被缓存。但合适的时间是多久?一个完整的网络请求,一个工作单元,一个事务,一次只有一个查询? (我假设一个网络请求通常不止一个工作单元)
假设您将实体框架用作 Web 应用程序中的 ORM 工具。但是在这种情况下,Identity Map Pattern 呢?假设您有一个 Customer DAL 的专用实例,它创建一个 Datacontext 和另一个 Invoice DAL,它自己也为此目的创建一个新的 DataContext。如果您已经获得了所有 DAL 的基类,那么它会创建 ObjectContext 的单个实例并在最后处理这个实例。这会被认为是一个糟糕的实现吗?在我看来,对于单个 Web 请求只有一个 ObjectContext 是有意义的。它可以利用 Entity Framework 支持的Identity Map Pattern 作为优势之一。
有什么想法、想法、想法或批评吗?
【问题讨论】:
标签: design-patterns entity-framework orm data-access-layer identity-map