我正在使用實體框架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,即邏輯工作單元。 –