实体框架4的表现

时间:2014-08-05 19:40:50

标签: c# performance entity-framework

我最近开始使用EF4,我注意到性能方​​面的一些瓶颈,我发现这令人担忧。我在下面使用的表中不超过400行,但使用系统诊断秒表作为计时器需要4秒,以执行下面的两个语句。

我只是在寻找关于我是否以正确的方式使用框架的意见,因为查询性能比直接使用存储过程时要慢得多。

所以,我已按如下方式构建了所有EF查询。首先,我以匿名类型返回我需要使用的字段,如下所示:

using (var entities = new MyEntities())
{

    var dbRecords = (from record in entities.MasterRecords
                  select new
                  {
                      ID = record.Id,
                      Name = record.Name,
                      AddressLineOne = record.AddressLineOne,
                      TransactionID = record.TransactionId
                  }).ToList();

接下来,我在业务对象类中调用静态方法来创建对象。请注意,下面代码中的存储库调用也会调用EF。

        var output = from dbrecord in dbRecords
                 select MasterData.CreateNewRecord(
                        this.recordRepository.FindRecords(dbrecord.ID),
                        dbrecord.Name,
                        dbrecord.AddressLineOne,
                        dbrecord.TransactionID
                 ).ToList();

}

我是否以正确的方式解决这个问题?

0 个答案:

没有答案