我正在尝试将 mvc-mini-profiler 与 EFCodeFirst 一起使用,我正在创建一个 DbProfiledConnection 并将其传递给构建时的 DbContext,如下所示。应用程序继续按预期工作,sql 不会暴露给 Profiler。
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)
{
}
哎呀,我的坏。
我已经对其进行了修改,以便在我的 UnitOfWork 中构造我的 WebContext 时,我传入一个 ProfiledDbConnection
public UnitOfWork()
{
var profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(connection);
this.context = new MyContext(profiledConnection);
}
我已经检查并在 Application_BeginRequest 中设置了 MiniProfier Current,当我尝试查询数据库时,它返回一个 ProfiledDbConnection,在 ProfiledDbProviderServices 类中引发错误。
protected override string GetDbProviderManifestToken(DbConnection connection)
{
return tail.GetProviderManifestToken(connection);
}
此方法返回“提供程序未返回 ProviderManifestToken 字符串”。错误