【发布时间】:2010-09-21 16:21:10
【问题描述】:
我有一个导入,从平面文件到针对 SQL Server 的 EDM,其中很少有记录实际更改(使用相同的导入文件运行它无数次),但是更新 500 条记录的 SaveChanges 调用需要很长时间。我猜这是因为我在实体对象上设置了每个属性,然后 EF 使用ReportPropertyChanged 表示必须在数据库中更新记录。
我是否真的必须将所有导入记录属性值与实体属性值进行比较,并且仅在它们不同时才分配给实体属性,以避免这些冗长的“无操作”更新?
编辑: Updated 属性的设置器生成的代码如下所示。我可以看到分配是无条件的,这就是为什么我要询问数据库的 UPDATE 语句的实际生成是否是有条件的。
set
{
OnUpdatedChanging(value);
ReportPropertyChanging("Updated");
_Updated = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Updated");
OnUpdatedChanged();
}
【问题讨论】:
标签: .net entity-framework