为此,我们花了更多时间梳理 SO。这是设置
- MVC 3 App 使用存储库模式,跨 2 个数据库具有 3 个存储库。
- EF 4.1 数据库首先使用DBContext API进行两个数据库连接。
- 从 nuget 安装 mvc-mini-profiler
这就是我在存储库中创建 Db 上下文的方式
public class TransactionRepository : BaseRepository, ITransactionRepository
{
AccountingEntities _db = new AccountingEntities();
// repository methods
}
然后在控制器中
public class InvoiceController : BaseController
{
private ITransactionRepository _txnRepository;
public InvoiceController()
{
_txnRepository = new TransactionRepository();
}
public InvoiceController(ITransactionRepository t)
{
_txnRepository = t;
}
}
最后,我添加到 web.config
<system.data>
<DbProviderFactories>
<remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
<add name="MvcMiniProfiler.Data.ProfiledDbProvider" invariant="MvcMiniProfiler.Data.ProfiledDbProvider" description="MvcMiniProfiler.Data.ProfiledDbProvider" type="MvcMiniProfiler.Data.ProfiledDbProviderFactory, MvcMiniProfiler, Version=1.8.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>
</system.data>
分析这些连接的下一步是什么?慢慢来,因为这是我第一次接触 Entity Framework,所以对 EF 连接/上下文细节的假设很少。