Я пытаюсь использовать mvc-mini-profiler с EFCodeFirst. Я создаю DbProfiledConnection и передаю его в DbContext при построении, как показано ниже. Приложение продолжает работать, как ожидалось, sql не подвергается профилировщику.
public class WebContext : DbContext
{
static DbConnection _connection = new SqlConnection(ConfigurationManager.ConnectionStrings["WebContext"].ConnectionString);
static DbConnection _profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(_connection);
public WebContext()
: base(_profiledConnection, true)
{
}
oops my bad.
Я изменил его так, чтобы, когда мой WebContext был построен в моем модуле UnitOfWork, я проходил в ProfiledDbConnection
public UnitOfWork()
{
var profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(connection);
this.context = new MyContext(profiledConnection);
}
Я проверил и MiniProfier Current был установлен в Application_BeginRequest, и он возвращает ProfiledDbConnection, когда я затем пытаюсь выполнить запрос к базе данных, ошибка возникает в классе ProfiledDbProviderServices.
protected override string GetDbProviderManifestToken(DbConnection connection)
{
return tail.GetProviderManifestToken(connection);
}
этот метод возвращает "Поставщик не вернул строку ProviderManifestToken". ошибка