无法使用 Entity Framework 4.0 设置 MiniProfiler(首先不是代码)

2024-01-15

我通过 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() 但这只会改变给出的错误。

似乎没有太多关于设置实体框架项目以使用 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;

          }
     }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Entity Framework 4.0 设置 MiniProfiler(首先不是代码) 的相关文章

  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • 在 MVC3 视图中输入后显示度量单位的好方法是什么?

    我们开发了许多具有输入的系统 这些输入后面应该有一个相关的文本标签作为测量单位 例如平方米 立方米 吨 立方英尺等 我不需要做任何聪明的事情 比如测量单位之间的比例 只要确保它易于更新并且良好的实践即可 正在寻找相当自动的东西 这将计量单位
  • 使用 EF 6 和 MVC 5 中的 Code First 方法将新表添加到现有数据库

    我知道这应该很简单 但我无法在网上找到有关此主题的正确教程或解释 有很多关于使用代码优先方法向现有表添加新列的视频和帖子 但我找不到任何关于如何将整个新表添加到现有数据库的分步说明 这很奇怪 我很确定我会找到很多例子 也许我的搜索条件不好
  • 数据 URI 和潜在危险的 Request.Path 值

    我尝试过使用带有此 CSS 属性的数据 URI background image url data image png base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFW
  • EF6“模型配置”已设置但未发现

    我有以下库 实体模型 dll 包含 POCO 类 实体DAL dll 引用EntityMODEL dll 实体服务 dll 引用 EntityMODEL dll 和 EntityDAL dll 实体测试 dll 引用 EntitySERVI
  • “等待操作超时”...但仅来自 .NET 客户端?

    我有一个查询 当从我的应用程序执行时会抛出 SqlException 0x80131904 超时已过期 操作完成之前超时时间已过 或者服务器没有响应 在 Visual Studio 中单步执行代码时 我遇到了同样的错误 但是 当使用相同的凭
  • 如何简单地添加指向 Spring Data REST 实体的链接

    我有带有 Spring Data JPA 的实体 但为了生成有关它们的统计信息 我在 Spring 中使用 jOOQ Repository 由于我的方法返回一个List的实体 或Double 我如何将它们公开为链接 假设我有一个User实体
  • MVC 3 Razor,具有自定义标记/部分的助手

    我什至不确定这是否可行 但我想我会检查一下是否有任何方法可以使这变得更容易 首先 我的网站中有一些重复的标记 如下所示 div class module h3 Title h3 div p Information goes here p d
  • EF Core 迁移可以手动编辑吗?

    我在示例项目中使用 EF Core 2 0 和一些值对象配置 我修改代码并通过 CLI 命令行生成迁移 在最后一次迁移中 它没有像应有的那样添加新的数据库表 而是尝试将现有表彼此重命名并为现有表创建一个额外的表 我不明白其中的原因 问题是
  • AssociationSet 中的关系处于“已删除”状态

    我正在尝试在我的网站中创建新帖子 但由于某种原因 EF 抛出以下错误 来自 PostAttributeValue Definition 关联集的关系 处于 已删除 状态 给定多重约束 相应的 PostAttributeValue Defin
  • EF 中的 GUID COMB 策略

    有没有办法使用 CodeFirst 设计为新的 Entity Framework 4 1 中的对象实现 Guid COMB 身份策略 我想设置StoreGeneratedPattern可以 但它仍然给我正常的 GUID 为什么要担心数据库中
  • 如何设置 web.config 文件以显示完整的错误消息

    我在 Windows Azure 上部署了 MVC 3 应用程序 但现在当我通过请求时staging url它告诉我 很抱歉 在执行您的要求时发生了一个错误 现在我想查看完整的错误消息 默认情况下由于某些安全原因它会隐藏该消息 我知道我们可
  • 为什么 DropDownListFor 无法识别编辑器模板中的选定值?

    我有以下名为 DropDown cshtml 的编辑器模板 这list部分工作正常 模板使用了一些我所做的巫毒来获得所需的SelectList from ViewData 控制器将视图模型中的所有选择列表放入ViewData 并且列表方面没
  • asp.net mvc 3,主题(不同视图)

    我想向我的网站添加将使用完全不同视图的主题 我想在我的项目中看到它们 如下所示 Views Theme1 Views Theme2 而不是默认的 Views 当然 我需要一种简单的方法来在它们之间进行切换 所以问题是 如何让 ViewEng
  • 使用更新的值重新加载实体框架上下文中的对象

    我有一个从数据库中提取的 EF 对象 然后 我通过使用另一个函数调用来更新数据库中的相应行DBContext 在此更新之后 我想使用更新后的内容重新加载对象的内容 但是 EF 上下文似乎缓存了这些内容 这是代码示例 我删除了一些不相关的内容
  • 如何将 mvc-mini-profiler 与 Entity Framework 4.1 一起使用

    我尝试将 mvc mini profiler 与 MVC3 一起使用 但不断收到以下错误 无法确定 MvcMiniProfiler Data ProfiledDbConnection 类型连接的提供程序名称 下面是我用来尝试实例化上下文的代
  • 实体类型 ApplicationUser 不是当前上下文模型的一部分。在项目开始时使用了两个不同的数据库

    我使用实体框架创建了一个 MVC 4 应用程序来读取数据并将数据写入我在 Azure 数据库上托管的数据库 Azure 数据库应该保存应用程序数据和应用程序的登录数据 但是 当我第一次创建应用程序时 我忘记删除到本地计算机的连接字符串 因此
  • MVC3 TextBoxFor 带有编码文本

    有没有办法将 TextBoxFor 助手与编码文本一起使用 例如 当使用 MVC3 With Razor 视图引擎的以下帮助程序时 Html TextBoxFor model gt model Description 并且对 model D
  • .NET 实体框架核心

    我已经阅读了过去两年中发布的几乎所有有关 EF 的其他问题 我下载其他软件包没有任何问题 只是实体框架不会为我安装 我什至尝试安装最新版本的 Nuget 并在我的项目目录中使用它的工具来恢复包 之后 我将这一行添加到我的 csproj 中
  • 不支持 EF6 上下文类型“System.Data.Entity.Core.Objects.ObjectContext”

    我有一个使用 Visual Studio 2013 和 ADO NET 实体数据模型 EF6 创建的新项目 现在我必须使用一些动态数据函数 例如访问 MetaTable 对象 所以我添加以下代码 MetaModel model new Me

随机推荐