第一个实体框架 6 nonquery 的六秒预热时间

2023-11-21

从我的集成测试来看:

// Act
Stopwatch w = new Stopwatch();
w.Start();
userService.Create(userDTO);
w.Stop();


public void Create(UserDTO userDTO)
{
    var user = userDTO.ToEntity();
    _context.Entry(user).State = EntityState.Added;
    _context.SaveChanges();
}

6.2 秒执行“sql 插入”太疯狂了。我已经看到应用程序用户在第一次打开他们全年使用的项目时抱怨。所以每天他们都要等6秒钟......

我认为 EF6 的预热时间有所改善?

我能做些什么来改善这种悲惨的行为吗?


时间并不是花在插入简单的数据上。 EF 在内存中创建模型,这就是您花费的时间所在的地方。

第一次对上下文执行操作时,EF 将创建实体数据模型并执行视图生成(不是数据库视图)。看一下这篇博文.

看一看here通过使用预先生成的视图来减少模型加载时间来提高性能。

为了提高性能,您可以在启动应用程序时初始化上下文异步。注意多线程问题。

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

第一个实体框架 6 nonquery 的六秒预热时间 的相关文章

  • 具有不同 ID 字段名称的 EF Fluent API 多对多

    在这个问题中 Ef 多对多 https stackoverflow com questions 8927278 how to configure many to many relationship using entity framewor
  • 为什么没有主键的表是一个坏主意?

    我对数据建模非常陌生 根据微软的实体框架 不允许使用没有主键的表 这显然是一个坏主意 我试图找出为什么这是一个坏主意 以及如何修复我的模型 这样我就不会出现这个漏洞 我当前的模型中有 4 个表 User City HelloCity 和 R
  • 传递选择器函数时,OrderBy 不会转换为 SQL

    当我执行时 var t db Table1 OrderBy x gt x Name ToList 在 SQL 分析器中 这是翻译后的 SQL SELECT Extent1 ID AS ID Extent1 Name AS Name FROM
  • 无法将类型 System.Linq.IQueryable 隐式转换为字符串

    我有两个名为 Rank 和 CrewMembers 的表 我想根据 CrewMember 的 id 获取 Rank 表中存在的排名名称 我已将船员 ID 作为参数传递 并在此基础上该方法将返回该特定船员的等级 这就是我的代码 public
  • EF 5.0 中的链接 OR 条件

    我将以此为序言 我正在积极寻找这个问题的解决方案 但我想 如果堆栈上有人已经解决了这个问题 我可能会缩短一些研究和开发时间 我在网上没有找到任何东西 所以这里是 我们正在构建的应用程序框架中有一个案例 我们需要能够接受一组谓词 List
  • 如何通过实体键添加/删除与实体框架的多对多关系?

    I tried using Entities e new Entities EntityKey key new EntityKey Entities Users UserId 20 User user new User EntityKey
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • 如何使用 Linq 将实体表与交叉引用表连接起来

    首先我要说的是 我对 Linq 比较陌生 但我似乎很快就掌握了其中的大部分内容 但这个问题却难倒了我 我找了又找都没有结果 我使用代码优先并创建了 2 个模型 项目 和 关键字 他们之间存在多对多的关系 我的实体模型如下所示 public
  • 实体框架在多对多更新场景中附加问题

    我有一个场景 我希望更新电影实体及其与流派的多对多关系 导航属性Genres电影中包含存根Genre只包含的对象GenreID因为我想节省查询所有流派的数据库 请参阅下面的代码 其相当不言自明 问题是我需要将 存根 流派附加到上下文 以便
  • 合并两个 linq 表达式

    我有两个在不同时间构建的表达式 但需要合并才能获得 where 子句的准确 分组 我确实尝试过this https stackoverflow com questions 10390784 how do i combine expressi
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • IOptions 不包含 ASP.NET 5 Beta 8 中的定义“选项”

    Problem 我在将 beta7 应用程序升级到 beta8 时遇到问题 我最初有超过 50 个错误 但现在基本上只剩下两个我无法解决的持续错误 一种是带有选项 选项缺失错误 这是错误 错误 CS1061 IOptions 不包含 Opt
  • EF 5.0 枚举未生成

    背景我在安装了 Net 4 5 的机器上使用 VS 2010 我读到这是就地安装 覆盖了 net 4 0 版本 我的项目仍然针对 4 0 而 4 5 选项不可用 但被告知没关系 因为 4 5 是就地安装 然后 我通过 nuget 安装了 E
  • 如何根据表名在 DbContext 中选择正确的 DbSet

    假设我有一个包含以下 DbSet 的 DbContext class Amimals DbContext public DbSet
  • 数据库优先方法和修改数据库模式

    我正在使用数据库优先方法使用实体框架 DbContext 构建 ASP NET MVC Web 应用程序 如果在某些情况下我需要修改数据库 例如添加新表或修改现有表 添加列或更改列数据类型 我应该 删除现有实体 edmx 和 tt 文件夹并
  • 同一数据库的多个实体框架

    我们可以在项目中为同一个数据库创建多个实体框架吗 我想为每个子系统创建实体框架 一些子系统具有共享表 这是可能的 您可以根据需要创建多个 EDMX 文件 但不建议这样做 因为 您不能查询不同模型中的多个表 定义边界将非常困难 因为大多数表都
  • 使用左连接获得不适当的输出

    我正在尝试获取变体列表 并且对于每个变体都获取所有subvariants list无论子变体属于何处 特别的Test say 100 这是示例数据 Id TestId SourceSubVariantId TargetSubVariantI
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • DbContext.SaveChangesAsync 异常处理

    当搭建新的脚手架时ApiController通过 Visual Studio 2013 中的异步操作和实体框架支持 某些方法可以包装DbContext SaveChangesAsync https msdn microsoft com en
  • 如何在种子实体框架版本 6.x 中通过 AddOrUpdate 方法插入身份[重复]

    这个问题在这里已经有答案了 我有一个具有身份列的实体 作为数据种子的一部分 我想对系统中的 标准数据 使用特定的标识符值 我不想禁用身份 只有我想在迁移种子中设置 IDENTITY INSERT ON 我的代码是 protected ove

随机推荐

  • 使用游标对象化分页

    我的 RPC 服务中有这个方法 Override public Entrata getEntrate int from int to List
  • Go:从两个字符或其他字符串之间检索字符串

    举例来说 我有一个字符串 如下所示 h1 Hello World h1 Go 代码能够提取什么Hello World 从那个字符串 我对 Go 还比较陌生 任何帮助是极大的赞赏 如果字符串看起来像whatever START extract
  • 如何命名物理学中大写的 Haskell 变量

    haskell中的变量名需要小写 但是 如果我们想存储 如何在 hs 文件中声明变量g 9 8 和G 6 67300 10 11 在以下情况下 物理学家通常提到 1 地球重力加速度 g 9 8 m 秒 2 2 万有引力常数 G 6 6730
  • Oracle 中的按位异或

    In SQL服务器我一直在使用 符号 但这似乎不起作用Oracle 如何进行按位互斥OR在甲骨文中 来自文档 function bitor p1 number p2 number return number is begin return
  • 有用于隐写术的 Java 库吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我所说的库是指可供使用的 jar 发行版 Image 隐写术就足够了 使用 JPEG PNG 和 BMP 也足够了 谷歌没有产生任何可用的结果 主要
  • 在线程中调用 SHGetFileInfo 以避免 UI 冻结

    在我们使用的 NET 4 0 应用程序 WPF 中SHGetFileInfo获取目录树的外壳图标 由于在某些情况下这需要相当长的时间 例如 对于无法访问的网络驱动器或软盘驱动器 我们希望在线程中执行此操作 然后在读入图标后更新图标 调用基本
  • 在 Fortran 中比较两个字符串

    比较两个字符串的正确方法是什么abc and bcd取决于字母顺序 是否有内置命令可以执行此操作 或者会 gt or lt 工作没有任何问题吗 内在关系运算符 lt and lt 以及 等于 和 大于 朋友 确实可以用于比较字符变量 我们看
  • 集团加入 EF Core 3.1

    我正在尝试在 EF core 3 1 中分组加入它返回的问题 处理 LINQ 表达式 DbSet 失败 这可能表明 EF Core 中存在错误或限制 我的代码是这样的 var employees await from enrollment
  • TableView 页脚随表格滚动

    我刚刚在 tableView 的页脚中实现了一个 加载更多 按钮 但页脚始终随表格滚动 我的tableView的样式是UITableViewStylePlain 请你告诉我哪里出了问题 UIView tableView UITableVie
  • 谷歌云消息安全

    公司创建一个项目并接收发件人 ID 公司创建一个应用程序 烘焙其发件人 ID 并将该应用程序放置在商店中 攻击者对应用程序进行逆向工程 并提取发送者 ID 和用于接收 GCM 注册 ID 的服务器接口 攻击者创建自己的应用程序 嵌入公司的发
  • 从本地范围返回值?

    在我们的代码库中遇到这样的代码 这让我很担心 int foo int a Forward declaration int baz int result int a dosomestuff foo a 0 1 return result 这段
  • 如何设置WCF测试客户端在每次服务运行时运行

    我有一个 WCF 项目 当我运行它时 有时会启动 WCF 测试 有时则不会 如何设置 WCF 测试客户端始终显示 MLF 答案中的链接确实包含很好的信息 绝对值得一读 然而 我花了一段时间才找到我正在寻找的具体答案 大约在页面的中间 如果在
  • 如何将 create-react-app 与 Spring Boot 一起使用?

    我正在尝试将 ReactJS 应用程序与使用 Spring Boot 构建的 API 一起提供 我已经运行了脚本create react app在 public 上 如下面的结构所示 但是 当我尝试从 ReactJS 访问它时 所有相对路径
  • 在单行中打印不带括号的列表

    我有一个Python列表 例如 names Sam Peter James Julian Ann 我想在一行中打印数组 而不使用普通的 names Sam Peter James Julian Ann print names 输出如下 Sa
  • 在反应中插入光标

    我需要在插入符 当前光标位置 处插入文本React 控制文本区域 如自动完成 对于普通文本区域 我使用了以下代码 insertAtCursor function myField myValue IE if document selectio
  • 如何将 AKSequencer 连接到 AKCallbackInstrument?

    我想读取 MIDI 文件并在触发音符事件时显示内容 我发现了这个 stackoverflow 问题 其中第二个答案建议使用 AudioKit 如何为我的音频应用程序获得可靠的计时 更准确地说 建议使用 AKSequencer 吸收应用程序中
  • ios 11 导航栏重叠状态栏

    在 ios 11 中 导航栏与状态栏重叠 如果有人遇到同样的问题 请提供帮助 不确定这是否是同样的问题 但我们在升级到 iOS 11 时也遇到了这个问题 See ios 11 自定义导航栏位于状态栏下方 我们手动将导航栏高度设置为 64 并
  • Spring MVC JavaConfig webapp 中的“错误页面”配置? (没有 web.xml)

    我将如何使用 Java 配置向 Spring MVC Web 应用程序添加 错误页面 类型配置 没有 web xml
  • Apache Flink - 如果 x 分钟内没有收到数据,则发送事件

    如何使用 Flink 的 DataStream API 实现一个运算符 以便在一段时间内没有从流中接收到数据时发送事件 这样的运算符可以使用ProcessFunction DataStream
  • 第一个实体框架 6 nonquery 的六秒预热时间

    从我的集成测试来看 Act Stopwatch w new Stopwatch w Start userService Create userDTO w Stop public void Create UserDTO userDTO var