【问题标题】:How to get MVC-mini-profiler working on EF 4.1 Database First如何让 MVC-mini-profiler 首先在 EF 4.1 数据库上工作
【发布时间】:2011-08-27 06:38:20
【问题描述】:

为此花费了一天中的大部分时间来梳理 SO。这是设置

  • MVC 3 应用程序使用存储库模式,跨 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 连接/上下文细节。

【问题讨论】:

    标签: entity-framework-4.1 mvc-mini-profiler database-first ef-database-first


    【解决方案1】:

    我重写了拦截代码,使其更加健壮。

    1. nuget MiniProfiler.EF(版本 1.9.1)
    2. 在应用程序初始化运行期间:MiniProfilerEF.Initialize();

    【讨论】:

    • 只是想通过添加 MiniProfiler.MVC3 nuget 包来添加它,即使这也不是必需的。只需在您的 MVC3 项目中安装 MiniProfiler.MVC3 包,取消注释 App_Start\MiniProfiler.cs 中的 MiniProfilerEF.Initialize() 调用,并查阅自动添加的示例布局文件以获取有关修改您自己的提示的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多