sql >> Databáze >  >> RDS >> Sqlserver

Mvc-Mini-Profiler v1.7 na projektu EF 4.1 Code-First neprofiluje SQL

Nejprve používám kód EF a miniprofiler v mém konstruktoru Context vytvořím novou továrnu připojení a předám ji metodě ProfiledDbConnectionFactory, která vrátí profilované připojení, které pak můžete nastavit jako DefaultConnectionFactory kontextu.

public MyConext()
{
    var factory = new ConnectionFactory(); 
    var profiled = new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);
    Database.DefaultConnectionFactory = profiled;
}

Připojení Facotry pouze vrátí nové připojení SQL

public class ConnectionFactory :IDbConnectionFactory
{
     public DbConnection CreateConnection()
     {
         var cnn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["SomeConnection"].ToString());

             return cnn;            
    }

Musíte také přidat ProfiledDBProvider do webového konfiguračního souboru. Ujistěte se, že číslo verze je pro vás správné.

<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.7.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
    </DbProviderFactories>
  </system.data>

To mi funguje dobře ve webových formulářích MVC i asp.net pomocí balíčku Miniprofiler nuget. Také bych se podíval na novou verzi MVC balíčku nuget, který automaticky konfiguruje profilování jako součást globálního akčního filtru.




  1. Jak použít flyway k migraci dat z jedné DB do jiné DB?

  2. Přidejte sloupec za dalším sloupcem

  3. php/timeout/reset připojení k serveru?

  4. Reportovací služby serveru SQL:jak zastavit spouštění sestavy při otevření