【发布时间】:2009-03-22 18:28:07
【问题描述】:
我正在尝试使用实体框架开发我的第一个 Web 项目,虽然我喜欢使用 linq 而不是编写 sql 的方式,但我确实有一些严重的性能问题。我在一个表中有很多未处理的数据,我想对其进行一些转换,然后插入到另一个表中。我遍历所有对象,然后将它们插入到我的新表中。我需要做一些小的比较(这就是我需要将数据插入另一个表的原因),但是对于性能测试,我已经删除了它们。下面的代码(大约需要设置 12-15 个属性)花费了 21 秒,这是相当长的时间。它通常会这么慢吗?我可能会做错什么?
DataLayer.MotorExtractionEntities mee = new DataLayer.MotorExtractionEntities();
List<DataLayer.CarsBulk> carsBulkAll = ((from c in mee.CarsBulk select c).Take(100)).ToList();
foreach (DataLayer.CarsBulk carBulk in carsBulkAll)
{
DataLayer.Car car = new DataLayer.Car();
car.URL = carBulk.URL;
car.color = carBulk.SellerCity.ToString();
car.year = //... more properties is set this way
mee.AddToCar(car);
}
mee.SaveChanges();
【问题讨论】:
-
抱歉代码缩进错误...
-
我已经尝试删除mee.SaveChanges,现在运行速度非常快,那么提交数据时会出现什么问题?
标签: performance entity-framework