.net - Entity Framework 5.0 基准测试

标签 .net entity-framework ado.net linq-to-entities benchmarking

我正在实习,我被要求评估新 Entity Framework 5.0 的性能变化。
我个人从未使用过 Entity Framework ,也没有任何大型数据库或查询来进行适当的基准测试。

我一直在使用 LINQ 查询的 for 循环针对 .NET 4.5 进行一些简单的测试,以便尝试自动编译查询并查看从我定位到 .NET 4.0 时的某种性能变化,但我没有能够看到任何类型的性能变化。

是否有任何已经完成的 Entity Framework 基准测试可以显示新版本的 Entity Framework 何时具有更好的性能?

谢谢

最佳答案

几样东西:

  • 如果你想比较 .NET 4 和 .NET 4.5 之间的性能变化,你必须有两台机器,因为 .NET 4.5 是就地升级。在机器上安装 .NET 4.5 将“消除”在旧的 .NET 4.0 上运行的可能性(感谢微软解决这个噩梦)。您可以将项目定位到 .NET 4,但在运行时,如果安装了 .NET 4.5,您将始终在 .NET 4.5 上运行。
  • 查找性能改进可能非常困难,因为查询生成中没有真正变化的列表,但您应该感兴趣的两个领域是:
  • 自动编译查询 - EF5 中的自动功能和 .NET 4.5。此功能应提高查询的后续执行速度 - 第一次执行仍会比 .NET 4 中的“慢”甚至“慢”
  • Table-per-hierarchy 查询中的优化。这通常应该改进仅针对继承结构中的单一类型或仅从基本实体投影字段的查询。在 .NET 4 中,这总是导致连接派生实体的所有表,即使它们不需要。我还没有尝试这种改进,所以我很高兴在这里阅读你的发现。
  • 关于.net - Entity Framework 5.0 基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12103230/

    相关文章:

    c# - 无法使用 ASP.NET session 状态提供程序连接到 Redis 服务器

    c# - 我可以创建一个用于属性参数的常量表达式吗?

    c# - Binary(16) 字段正在截断 Guid 的尾随零

    c# - 尝试按动态属性对 IQueryable 进行排序

    asp.net - 不支持关键字 : 'server'

    c# - DirectoryInfo 对象可以安全地用作字典中的键吗?

    .net - Silverlight 支持的编解码器

    c# - 单击按钮本地化应用程序

    c# - 自定义数据提供者?

    c# - AddWithValue 方法 (C#) 什么都不做