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