我正在使用实体框架6.1.3。 我有一个ob对象列表(像数据库表一样的属性) 如何在执行更新语句时达到最佳性能?最佳更新性能与实体框架
在执行任何插入操作时,我可以使用AddRange()方法插入列表的所有项目。在更新语句中是否有这样做的可能性?
此刻,我会做就行了一个foreach,然后我调用Update方法:
public void UpdateZeitenPaar(int? pc_c_mandant_id, int? pc_d_zeiten_id, int pc_d_zeiten_paare_id, string personalnummer, DateTime? kommZeit, DateTime? gehZeit, int? kommID, int? gehID, decimal? zeitIst, decimal? zeitPause, int? pc_d_aktivitaet_id, DateTime? datum)
{
pc_d_zeiten_paare paar = db.pc_d_zeiten_paare.SingleOrDefault(p => p.pc_c_mandant_id == pc_c_mandant_id && p.pc_d_zeiten_paare_id == pc_d_zeiten_paare_id);
paar.datum = datum;
paar.gehZeit = gehZeit;
paar.geh_pc_d_buchungsdaten_id = gehID;
paar.kommZeit = kommZeit;
paar.komm_pc_d_buchungsdaten_id = kommID;
paar.pc_c_mandant_id = pc_c_mandant_id;
paar.pc_d_aktivitaet_id = pc_d_aktivitaet_id;
paar.pc_d_zeiten_id = pc_d_zeiten_id;
paar.personalnummer = personalnummer;
paar.zeitIst = zeitIst;
paar.zeitPause = zeitPause;
db.SaveChanges();
}
也许你可以检查[这](https://efbulkinsert.codeplex.com/)或只是谷歌BULK INSERT在EF – LiranBo
插入表现还算可以,只是期待,以提高更新性能:) – Fabian
你有没有试过在foreach之外调用SaveChanges,即逻辑工作单元。 –