.net - Entity Framework 需要 3 秒钟来执行我在我生命中第一次看到的最简单的查询。之后变成瞬间

标签 .net performance entity-framework

我将 Entity Framework 4.5 与对象上下文一起使用。我的模型有大约 200 个实体类型。我第一次在返回 1 条记录的 10 条记录数据库中进行荒谬的查询时,将花费 3 秒。从此,不仅是这个查询,而且一切都将变得即时。如果我关闭 IISExpress 并再次打开它。第一次会很慢。

必须有一些我可以用 Entity Framework 做的事情。 I've think of pregenerating viewsupgrading to Entity Framework 5.0 ,但我不确定这会有所帮助。

任何的想法?

编辑
直接在 Management Studio 中执行的查询总是很快。查询非常简单。我只是通过用户名获取用户,并且该表有类似 .. 10 条记录。调试或发布没有太大区别。

最佳答案

这是一个已知的问题”。我把它放在引号中是因为这对你我来说都是一个问题,但微软认为这是正常的,不是问题。 This MSDN Page显示了 EF 各个部分的性能成本。

已经有many, many, many关于这个的问题。我建议探索其中的一些。一两年前有一个特定的问题,其中多人对问题进行了非常详细的分析,但我现在似乎找不到。

特别是对于大型模型和 EDMX 文件,这非常慢,转换为代码优先模型可能会有所帮助。

关于.net - Entity Framework 需要 3 秒钟来执行我在我生命中第一次看到的最简单的查询。之后变成瞬间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16060895/

相关文章:

java - 缓冲字节数组(来自 DatagramPacket)

java - 加快矩阵查找速度

c# - 如何组织相互继承但又具有相互继承的属性的 C# 类?

c# - 将 SQL 查询转换为 LINQ(子查询)

asp.net-mvc - Automapper + EF4 + ASP.NET MVC - 出现 'context disposed' 错误(我知道为什么,但如何修复它?)

c# - 线程安全问题

c# - 为什么这段代码是有效的 C# 代码?

c# - 在C#中访问成员时 `this`关键字是可选的吗?

c# - 无法更新 .mdf 数据库,因为数据库是只读的(Windows 应用程序)

javascript - Json - 具有重复数据的完整记录,或标准化