LINQ sql, datacontext osztály

„” Ebben a cikkben használja a forráskód példát

Class DataContext kezeli a kapcsolatot az adatbázissal. Ez kezeli lekérdezéseket, frissítéseket beleilleszkedik egy adatbázis tárolja az identitás, változások követése, feldolgozza azokat, sértetlenségét biztosítja a tranzakció, és még a egy adatbázis létrehozása. Class DataContext fordítja lekérdezések alapvető osztályok SQL utasítások végrehajtása a csatlakoztatott tárol.

Származó DataContext osztály [A] DataContext hozzáférést biztosít az egész csoport adatbázis technikákat, mint például executeQuery, ExecuteCommand és SubmitChanges. Amellett, hogy ezek örökölt módszerek osztály [A] DataContext tartalmazza tulajdonságait típusú System.Data.Linq.Table minden táblázat és nézet az adatbázisban, amely felhasználható a LINQ to SQL, ahol minden típusú T - ez egy fontos osztály leképezve egy adott tábla vagy nézet.

Például, hogy egy pillantást a Northwind osztály, amely elérkezett SQLMetal eszköz. Ez - osztály [A] DataContext adatbázis Northwind. Az alábbiakban a leginkább figyelemre méltó része ebbe az osztályba:

Mint látható, ez az osztály valójában örökli DataContext.

Könnyen észrevehetjük, hogy ez be öt tervező. Vegye figyelembe, hogy az alapértelmezett konstruktor saját (privát), mert a hozzáférés módosítót ismert rá, így egy példányának létrehozásához [A] DataContext paraméter nélkül nem fog működni. Minden nyilvános konstruktőrök [A] DataContext egyikének felel meg a tervezők és DataContext osztály konstruktor egyenértékű annak DataContext kezdőérték. A szervezetben a kivitelező nevezzük csak részleges módszer OnCreated. Ez lehetővé teszi a fejlesztők, hogy végre egy részleges eljárás OnCreated, amely akkor aktiválódik, ha egy objektum [A] DataContext.

Ezen túlmenően, a Northwind osztály egy tulajdonsággal, az úgynevezett típusú ügyfelek táblázat, ha az Ügyfél lényeges osztály típus. Ez az alapvető Ügyfél osztály megjelenik a Vevők táblában tárol Northwind.

Tény, hogy nem kell írni kód, amely az osztály [A] DataContext. Lehetőség van, hogy működjön együtt a standard osztályú DataContext. Azonban az osztály [A] DataContext mást teszi az írást kód könnyebb. Például, ha ön használ egy osztálya [A] DataContext, majd minden asztalnál képviseli tulajdonság, amely elérhető közvetlenül az objektum [A] DataContext. Egy példa az alábbiakban látható:

Az előző kód, azért van, mert a csatlakozást egy osztály [A] DataContext nevű Northwind, akkor lehet kérni, hogy az Ügyfél Asztalitenisz mint egy ingatlan osztály vásárlóknak [A] DataContext. Itt az eredménye ez a kód:

LINQ sql, datacontext osztály

Ha viszont a kapcsolat felhasználásával készült az osztály DataContext lenne szükség, hogy egy módszer gettable DataContext objektumot amint azt az alábbi példa mutatja:

Ez a kód azonos eredményt ad.

Annak érdekében, hogy a használata az osztály [A] DataContext egyszerűen kényelmesebb, és el kell fogadni.

DataContext osztály megvalósítja IDisposable interfész

DataContext osztály megvalósítja az interfészt IDisposable, ezért úgy kell értelmezni megfelelően szabadít (disposabe) objektumot. Ez azt jelenti, hogy ha egy új osztályt, amelybe magában DataContext osztály vagy [Saját] DataContext, ami azt jelenti, az arány „a” (már-a) az új osztály és az osztály DataContext vagy [Saját] DataContext, majd az új osztály is végre kell hajtania a felületet IDisposable. Kérdések tervezése osztályok megfelelő végrehajtása IDisposable interfész túlmutatnak keretében ezt a cikket, de rengeteg online forrásokat a témában.

Másik előnye a végrehajtása IDisposable interfész DataContext osztály, hogy akkor most alkalmazni az üzemeltetőt, hogy ellenőrizzék az objektumot DataContext vagy [Saját] DataContext.

Kapcsolódó cikkek