Megosztás a következőn keresztül:


LINQ–SQL-eszközök a Visual Studióban

A LINQ–SQL volt a Microsoft által kiadott első objektum-relációs leképezési technológia. Alapforgatókönyvekben jól működik, és továbbra is támogatott a Visual Studióban, de már nincs aktív fejlesztés alatt. Használja a LINQ-t az SQL-hez a már használt régi alkalmazások karbantartásakor, vagy olyan egyszerű alkalmazásokban, amelyek SQL Servert használnak, és nem igényelnek többtáblás leképezést. Az új alkalmazások általában akkor használják az Entity Frameworkt, ha objektum-relációs leképezési rétegre van szükség.

A LINQ telepítése az SQL-eszközökre

A Visual Studióban az SQL-táblákat képviselő SQL-osztályokhoz tartozó LINQ-t az Object Relational Designer (O/R Designer) használatával hozhatja létre. Az O/R-tervező az .dbml fájlok szerkesztésére szolgáló felhasználói felület. A .dbml fájlok tervezőfelülettel való szerkesztéséhez a LINQ-t az SQL-eszközökhöz kell telepíteni, amelyek alapértelmezés szerint nincsenek telepítve a Visual Studio egyik számítási feladatának részeként sem.

A LINQ SQL-eszközökre való telepítéséhez indítsa el a Visual Studio telepítőjét, válassza a Módosítás, majd az Egyes összetevők lapot, majd válassza LINQ-t az SQL-eszközökhöz a Kódeszközök kategória alatt.

Mi az az O/R Designer?

Az O/R Designer két különböző területtel rendelkezik a tervezőfelületen: a bal oldali entitások panel, a jobb oldalon pedig a Metódusok panel. Az entitások panel a fő tervezési felület, amely megjeleníti az entitásosztályokat, társításokat és öröklési hierarchiákat. A metódusok panel a tervezési felület, amely a DataContext metódusokat jeleníti meg, amelyek a tárolt eljárásokhoz és függvényekhez vannak leképezve.

Az O/R Designer vizuális tervezési felületet biztosít LINQ és SQL adatbázis objektumai alapján létrehozott entitásosztályok és társítások (kapcsolatok) létrehozásához. Más szóval az O/R Designer létrehoz egy objektummodellt egy adatbázisban lévő objektumokhoz leképező alkalmazásban. Emellett létrehoz egy erős típusú DataContext-t, amely adatokat küld és fogad az entitás osztályok és az adatbázis között. Az O/R Designer a tárolt eljárások és függvények DataContext adatok visszaadására és entitásosztályok feltöltésére szolgáló módszerekre való leképezésére is használható. Végül az O/R Designer lehetővé teszi az entitásosztályok közötti öröklési kapcsolatok tervezését.

Az O/R-tervező megnyitása

HA LINQ-t szeretne hozzáadni az SQL-entitásmodellhez a projekthez, válassza Project>Új elem hozzáadásalehetőséget, majd válassza LINQ-t az SQL-osztályokhoz a projektelemek listájából:

KÉPERNYŐKÉP a LINQ és az SQL osztályok között.

A Visual Studio létrehoz egy .dbml fájlt, és hozzáadja a megoldáshoz. Ez az XML-megfeleltetési fájl és a kapcsolódó kódfájlok.

Képernyőkép, amely a LINQ to SQL osztályokat mutatja a Megoldáskezelőben.

A .dbml fájl kiválasztásakor a Visual Studio megjeleníti a O/R Designer felületet, amely lehetővé teszi a modell vizuális létrehozását. Az alábbi ábrán a Tervező látható, miután a Northwind Customers és Orders táblákat áthúzták a Server Explorer-ból. Figyelje meg a táblák közötti kapcsolatot.

KÉPERNYŐKÉP a LINQ és az SQL Designer között.

Fontos

Az O/R Designer egy egyszerű objektum-relációs leképező, mivel csak az 1:1 leképezési kapcsolatokat támogatja. Más szóval egy entitásosztálynak csak 1:1 leképezési kapcsolata lehet egy adatbázistáblával vagy nézettel. Az összetett leképezés, például egy entitásosztály illesztett táblához való leképezése nem támogatott; összetett leképezéshez használja az Entity Frameworkt. Emellett a tervező egy egyirányú kódgenerátor. Ez azt jelenti, hogy csak a tervezőfelületen végrehajtott módosítások jelennek meg a kódfájlban. A kódfájl manuális módosításai nem jelennek meg a O/R Designer. A kódfájlban manuálisan végzett módosítások felülíródnak a tervező mentésekor és a kód újragenerálásakor. További információ a felhasználói kód hozzáadásáról és a O/R Designeráltal létrehozott osztályok kiterjesztéséről: Útmutató: Az O/R Designeráltal létrehozott kód kiterjesztése.

A DataContext létrehozása és konfigurálása

Miután hozzáadott egy LINQ to SQL osztályok elemet a projekthez, és megnyitotta az O/R Designer, az üres tervezői felület egy üres DataContext-et testesít meg, amely készen áll a konfigurálásra. a DataContext a tervezőfelületre húzott első elem által megadott kapcsolati adatokkal van konfigurálva. Ezért a(z) DataContext úgy van konfigurálva, hogy az első, a tervezőfelületre helyezett elem kapcsolati információit használja. További információ a DataContext osztályról: DataContext metódusok (O/R Designer).

Adatbázistáblákhoz és nézetekhez megfeleltetendő entitásosztályok létrehozása

Az entitásosztályokat, amelyek táblákra és nézetekre vannak leképezve, úgy hozhatja létre, hogy adatbázis-táblákat és nézeteket áthúz a Kiszolgálókezelőből vagy a Adatbázis-kezelőből az O/R Designerfelületére. Ahogy az előző szakaszban is látható, a DataContext a tervezőfelületre húzott első elem által megadott kapcsolati adatokkal van konfigurálva. Ha egy későbbi tétel, amely más kapcsolatot használ, hozzáadásra kerül a O/R Designer-hez, akkor módosíthatja a DataContextkapcsolatát. További információért lásd: Hogyan kell: LINQ to SQL osztályokat létrehozni, amelyek táblákhoz és nézetekhez vannak leképezve (O/R Designer).

Tárolt eljárásokat és függvényeket meghívó DataContext-metódusok létrehozása

A tárolt eljárásokat és függvényeket meghívó (megfeleltetett) DataContext metódusokat úgy hozhatja létre, hogy Kiszolgálókezelő vagy Adatbázis-kezelő a O/R Designer. A tárolt eljárásokat és függvényeket a O/R Designer-hez a DataContextmetódusaiként adják hozzá.

Jegyzet

Ha tárolt eljárásokat és függvényeket a Server Explorer-ból vagy a Database Explorer-ból húz át a O/R Designer-ra, a létrehozott DataContext metódus visszatérési típusa attól függően változik, hogy hová helyezi el az elemet. További információ: DataContext metódusok (O/R Designer).

DataContext konfigurálása tárolt eljárások használatára az entitásosztályok és az adatbázis közötti adatok mentéséhez

Ahogy korábban említettem, létrehozhat DataContext metódusokat, amelyek tárolt eljárásokat és függvényeket hívnak meg. Emellett az alapértelmezett LINQ-hoz használt tárolt eljárásokat is hozzárendelheti az SQL futásidejű viselkedéséhez, amely beszúrásokat, frissítéseket és törléseket hajt végre. További információ: Útmutató: Tárolt eljárások hozzárendelése frissítések, beszúrások és törlések végrehajtásához (O/R Designer).

Öröklés és az O/R-tervező

Más objektumokhoz hasonlóan a LINQ–SQL-osztályok is használhatják az öröklést, és más osztályokból származtathatók. Az adatbázisokban az öröklési kapcsolatok többféleképpen jönnek létre. Az O/R Designer támogatja az egytáblás öröklés fogalmát, mivel gyakran relációs rendszerekben implementálják. További információ: Hogyan konfigurálható az öröklés az O/R Designerhasználatával.

LINQ–SQL-lekérdezések

Az O/R Designer által létrehozott entitásosztályokat a Language Integrated Query (LINQ)használatára tervezték. További információ: Útmutató: Információ lekérdezése.

A létrehozott DataContext és entitásosztály kódjának elkülönítése különböző névterekre

Az O/R Designer biztosítja a környezeti névtér és entitásnévtér tulajdonságait a DataContext. Ezek a tulajdonságok határozzák meg, hogy a DataContext és az entitásosztálykód melyik névtérbe lesz létrehozva. Alapértelmezés szerint ezek a tulajdonságok üresek, és a DataContext és az entitásosztályok létre lesznek hozva az alkalmazás névterében. Ha a kódot az alkalmazás névterétől eltérő névtérbe szeretné létrehozni, adjon meg egy értéket a Környezeti névtér és/vagy entitásnévtér tulajdonságaiba.

Referencia tartalom

Lásd még: