Ich bin neu in Datenbanken und linq, so dass mein Problem als trivial betrachtet werden kann. Ich fange gerade alle meine db Anfragen in jeder Klasse mit:Effizienteren Datenbankzugriff
DataClassesDataContext db = new DataClassesDataContext()
Dann gehe ich auf, was Linq Anfrage ich innerhalb des Verfahrens müssen machen und weitermachen mit dem Hauptanwendungslogik. Jetzt
, zwei interessante Anfragen:
1) Ich glaube, ich habe Leute gesehen, innerhalb db Nutzung Einwickeln ‚mit‘. Wie zum Beispiel:
using (DataClassesDataContext db = new DataClassesDataContext())
{
...
}
Wenn dies richtig ist, dann bedeutet es nicht, dass meine Klasse nicht Mitglied ‚db‘ Variable mehr, sondern eher jene db-Anforderungen vorgenommen werden müssen in jedem Funktionsaufruf verwenden kann? Was würde genau passieren, wenn ich nicht innerhalb der Anrufe "benutze"?
2) Ausführen meiner App mit SQL Profiler aktiviert, sehe ich viele Verbindungen öffnen und schließen. Bedeutet dies, dass jeder DataClassesDataContext-Aufruf eine separate Verbindung herstellt? Es scheint ineffizient, also ist der richtige Weg, das DataClassesDataContext-Objekt tatsächlich zu einer statischen innerhalb jeder Klasse zu machen?
Es gibt andere Frameworks wie Developer Express XPO, die Linq-Abfragen unterstützen. – abmv