LINQ to Entity - Optimierung

26/03/2009 - 07:21 von Roland Schumacher | Report spam
Hallo

Kann ich dieses Konstrukt optimiern?

[...]
using (ArchiverEntities ae = new ArchiverEntities())
{
foreach (Interview inter in m_Interviews)
{
var interview = ae.Interviews.Where(i => i.InterviewID ==
inter.InterviewID).First();

ae.DeleteObject(interview);
}
}
[...]

m_Interviews ist eine List<>. Es geht hier zum teil um etliche 1000 Records
die ich möglichst schnell aus der DB haben möchte.
Diese Lösung hier ist langsam. Wie mache ich es schneller?

Vielleicht noch wichtig. Das inter vom Typ Interview ist von den Propertis
her identich mit "var interview".

Gruss
Roland Schumacher alias GENiALi
http://blog.geniali.ch/
http://jotd.geniali.ch/
 

Lesen sie die antworten

#1 Frank Dzaebel
26/03/2009 - 21:06 | Warnen spam
Hallo Roland,

Kann ich dieses Konstrukt optimieren?
[...] ae.DeleteObject(interview);



ja, das geht. Leicht denkt man an DeleteAllOnSubmit,
aber dann werden trotzdem noch mehrere
Delete's (anstatt eins) ausgeführt.
Es gibt ein paar Tricks:

[SkainSez: Bulk Deletes in Linq to Sql]
http://skainsez.blogspot.com/2008/0...o-sql.html


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen