gpt4 book ai didi

asp.net-mvc-3 - 无法使用 Entity Framework 4.0 设置 MiniProfiler(首先不是代码)

转载 作者:行者123 更新时间:2023-12-02 20:02:00 24 4
gpt4 key购买 nike

我通过 nuget 在我的项目中安装了 MiniProfiler 和 MiniProfiler.EF。

在使用 MiniProfiler 之前,我会在模型存储库中使用它打开一个连接:

    public class NotificationRepository
{
private CBNotificationModel.CB_NotificationEntities db;

public NotificationRepository()
{
db = new CB_NotificationEntities();
}

public NotificationContact GetNotificationContacts()
{
return db.NotificationContacts.ToList();
}
}

要使用我创建的迷你分析器:

  public static class ConnectionHelper
{
public static CB_NotificationEntities GetEntityConnection()
{
var conn = new StackExchange.Profiling.Data.EFProfiledDbConnection(GetConnection(), MiniProfiler.Current);

return ObjectContextUtils.CreateObjectContext<CB_NotificationEntities>(conn); // resides in the MiniProfiler.EF nuget pack
}

public static EntityConnection GetConnection()
{
return new EntityConnection(ConfigurationManager.ConnectionStrings["CB_NotificationEntities"].ConnectionString);
}
}

模型存储库现在使用

db = ConnectionHelper.GetEntityConnection();

但是这会给出错误:

mscorlib.dll 中发生“System.StackOverflowException”类型的未处理异常

我是不是少了一步?我尝试在 Application_start() 中添加 MiniProfilerEF.Initialize() 和 MiniProfilerEF.Initialize_EF42() 但这只会更改给出的错误。

似乎没有太多关于设置 Entity Framework 项目以使用 miniprofiler 的信息,除非它是 codefirst。

最佳答案

我可以通过将 ConnectionHelper 类更改为以下内容来实现此功能:

    public static class ConnectionHelper
{
public static CB_NotificationEntities GetEntityConnection()
{

var connectionString = ConfigurationManager.ConnectionStrings["CB_NotificationEntities"].ConnectionString;
var ecsb = new EntityConnectionStringBuilder(connectionString);
var sqlConn = new SqlConnection(ecsb.ProviderConnectionString);
var pConn = new StackExchange.Profiling.Data.EFProfiledDbConnection(sqlConn, MiniProfiler.Current);

var context = ObjectContextUtils.CreateObjectContext<CB_NotificationEntities>(pConn);
return context;

}
}

关于asp.net-mvc-3 - 无法使用 Entity Framework 4.0 设置 MiniProfiler(首先不是代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11217084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com