1. DataContext auf das nötigste beschränken
Legt euren DataContext nicht auf die komplette Datenbank. Behandelt Ihn je nach gebraucht. Man kann trotzdem noch den gleichen Datenbankvebrindungs String benutzen.
2. Object Tracking abschalten
Wenn es nicht genutzt wird: abschalten!
using (NorthwindDataContext context = new NorthwindDataContext())
{
context.ObjectTrackingEnabled = false;
}
3. CompiledQuery benutzen
Wandelt eure Querys in Compiled Querys um. Beim ersten aufruf werden diese compiled und man kann Sie in einer static Variable weiter nutzen.
Func<MyDatabaseDataContext, IEnumerable<MyTable>> func =
CompiledQuery.Compile<MyDatabaseDataContext, IEnumerable<MyTable>>
((MyDatabaseDataContext context) => context.MyTables.
Where<MyTable>(x => x.MyProperty > someValue));
4. DataLoadOptions benutzen
DataLoadOptions options = new DataLoadOptions();
options.AssociateWith<Mytable>( x => x.MyPropery.Where<MyProperty>(y => !y.Available));
context.LoadOptions = options;
5. Nur das Laden, was benötigt wird
context.Products
.Take<Product>(pageSize)
.Skip<Product>(startingPageIndex * pageSize)
.ToList<Product>();
Keine Kommentare:
Kommentar veröffentlichen