我最近开始在我的.NET 4.0应用程序中使用Entity Framework 4.0,并对与池化相关的一些事情感到好奇.
据我所知,连接池由ADO.NET数据提供程序管理,在我的情况下是MS SQL服务器.当您实例化新的实体context(ObjectContext)时,这是否适用,即无参数new MyDatabaseModelEntities()?
a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定操作/方法创建和公开实体上下文有哪些优点和缺点.
我应该了解的某些场景的任何其他建议,最佳实践或常用方法?
我想知道是否有类似Sql Profiler for Sql Server Compact Edition的东西?我使用SqlCE作为桌面应用程序的后端,对于这个嵌入式数据库来说,拥有像sql profiler这样的东西真的很棒.或者至少与NHibernate show_sql功能类似的东西...任何想法?谢谢j.
我最近重构了一个WPF应用程序,以便它不再包含DbContext在using子句中的每次使用(请参阅此问题).相反,我的应用程序只使用相同的DbContext单例.
除了一个小问题外,这很有用.我有一个例程,从头开始重建数据库并插入一些默认数据.此例程直接使用ADO.NET(而不是DbContext),因此DbContext不知道数据库现在完全不同.
有没有一种方法来重置DbContext而不处理它?如果可能的话,我想避免处置,因为这会破坏整个应用程序中对原始单例的几个引用.