2

Spent better part of the day combing through SO for this. Here's the setup

  • MVC 3 App using Repository pattern with 3 repositories across 2 databases.
  • EF 4.1 Database first using the DBContext API for both db connections.
  • Installed mvc-mini-profiler from nuget

This is how I create my Db Context in the repository

public class TransactionRepository : BaseRepository, ITransactionRepository
{
    AccountingEntities _db = new AccountingEntities();

    // repository methods
}

Then in controllers

public class InvoiceController : BaseController
{
    private ITransactionRepository _txnRepository;

    public InvoiceController()
    {
        _txnRepository = new TransactionRepository();
    }

    public InvoiceController(ITransactionRepository t)
    {
        _txnRepository = t;
    }
}

Finally, I've added to 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>

What are the next steps to profile these connections? Walk me slowly as this is my first exposure to Entity Framework, so assume very little about EF connection/context details.

RyanW
  • 5,338
  • 4
  • 46
  • 58

1 Answers1

5

I rewrote the interception code so it is way more robust.

  1. nuget MiniProfiler.EF (version 1.9.1)
  2. During App Init run: MiniProfilerEF.Initialize();
Sam Saffron
  • 128,308
  • 78
  • 326
  • 506
  • Just wanted to add that with the addition of the MiniProfiler.MVC3 nuget package, even this isn't necessary. Just install the MiniProfiler.MVC3 package in your MVC3 project, uncomment the MiniProfilerEF.Initialize() call in App_Start\MiniProfiler.cs, and consult the sample layout file that's automatically added for tips on modifying your own. – Nick Silberstein Aug 10 '12 at 18:40