Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF5 Edmx/代码优先与EF6 Edmx/代码优先_C#_Performance_Entity Framework_Ef Code First_Edmx - Fatal编程技术网

C# EF5 Edmx/代码优先与EF6 Edmx/代码优先

C# EF5 Edmx/代码优先与EF6 Edmx/代码优先,c#,performance,entity-framework,ef-code-first,edmx,C#,Performance,Entity Framework,Ef Code First,Edmx,我正忙于将相当复杂的数据模型从EF5迁移到EF6,在这个过程中,我注意到EF6(V6.1.0)存在一些严重的性能问题。无论运行复杂的数据模型还是非常简单的数据模型,性能问题都是显而易见的。下面的测试是在一个简单的数据模型上执行的,该模型包含5个表,每个表有5列,对一个包含200条记录的表进行查询。机器是i7 3.4Ghz 8GB RAM,SSD。这是.NET4.5上的控制台应用程序 // FIRST RUN var sw = System.Diagnostics.Stopwatch.StartN

我正忙于将相当复杂的数据模型从EF5迁移到EF6,在这个过程中,我注意到EF6(V6.1.0)存在一些严重的性能问题。无论运行复杂的数据模型还是非常简单的数据模型,性能问题都是显而易见的。下面的测试是在一个简单的数据模型上执行的,该模型包含5个表,每个表有5列,对一个包含200条记录的表进行查询。机器是i7 3.4Ghz 8GB RAM,SSD。这是.NET4.5上的控制台应用程序

// FIRST RUN
var sw = System.Diagnostics.Stopwatch.StartNew();
EFTestContext ctx = new EFTestContext();
var data = ctx.Table1.ToList(); // table with 200 records 
ctx.Dispose();
// SECOND RUN
Console.WriteLine(String.Format("Completed in {0}ms", sw.ElapsedMilliseconds));
sw.Restart();
ctx = new EFTestContext();
data = ctx.Table1.ToList();
ctx.Dispose();
Console.WriteLine(String.Format("Completed in {0}ms", sw.ElapsedMilliseconds));
结果如下:

  • EF5代码优先–501ms/2ms
  • EF5 EDMX–226ms/2ms
  • EF6代码优先–1346ms/3ms
  • EF6 EDMX–1189ms/3m
在EF6上生成视图确实略微提高了性能,但仍然没有接近EF5的启动和查询时间

我一定错过了什么?微软宣布EF6的性能增强(初始化和查询)?我知道在V6.0.0上报告了一些性能问题,但是据报道这些问题在V6.1.0中已经解决了?请告知