Megosztás:


Attribute-Based leképezése

A LINQ–SQL egy SQL Server-adatbázist leképez egy LINQ-ról SQL-objektummodellre attribútumok alkalmazásával vagy külső leképezési fájl használatával. Ez a témakör az attribútumalapú megközelítést ismerteti.

Legelemibb formájában a LINQ to SQL leképez egy adatbázist egy DataContext, egy táblát egy osztályra, oszlopokat és kapcsolatokat pedig az adott osztályok tulajdonságaira. Attribútumokkal is megfeleltethet egy öröklési hierarchiát az objektummodellben. További információ : Az objektummodell létrehozása Visual Basicben vagy C#-ban.

A Visual Studiót használó fejlesztők általában attribútumalapú leképezést végeznek az Object Relational Designer használatával. Az SQLMetal parancssori eszközét is használhatja, vagy manuálisan is kódolhatja az attribútumokat. További információ : Az objektummodell létrehozása Visual Basicben vagy C#-ban.

Megjegyzés:

Külső XML-fájllal is megfeleltethető. További információ: Külső megfeleltetés.

Az alábbi szakaszok részletesebben ismertetik az attribútumalapú leképezést. További információ: System.Data.Linq.Mapping névtér.

DatabaseAttribute attribútum

Ezzel az attribútummal megadhatja az adatbázis alapértelmezett nevét, ha a kapcsolat nem ad meg nevet. Ez az attribútum nem kötelező, de ha használja, a tulajdonságot az Name alábbi táblázatban leírtak szerint kell alkalmaznia.

Ingatlan típus Alapértelmezett Leírás
Name Lánc Lásd: Name A tulajdonságával Name együtt az adatbázis nevét adja meg.

További információért lásd DatabaseAttribute.

TableAttribute attribútum

Ezzel az attribútummal egy osztályt jelölhet ki egy adatbázistáblához vagy nézethez társított entitásosztályként. A LINQ to SQL állandó osztályokként kezeli azokat az osztályokat, amelyek ezt az attribútumot rendelkeznek. Az alábbi táblázat a tulajdonságot Name ismerteti.

Ingatlan típus Alapértelmezett Leírás
Name Lánc Ugyanaz a sztring, mint az osztály neve Egy osztályt egy adatbázistáblához társított entitásosztályként jelöl meg.

További információért lásd TableAttribute.

Oszlopattribútum

Ezzel az attribútummal egy entitásosztály egy tagját jelölheti egy adatbázistábla oszlopának jelölésére. Ezt az attribútumot bármely mezőre vagy tulajdonságra alkalmazhatja.

Csak az oszlopokként azonosított tagok lesznek lekérve és megőrizve, amikor a LINQ to SQL menti az adatbázis módosításait. Az attribútummal nem rendelkező tagok nem tekintendők állandónak, és nem kerülnek beillesztésre vagy frissítésre.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
AutoSync AutoSync Soha Utasítja a közös nyelvi futtatókörnyezetet (CLR) az érték beolvasására egy beszúrási vagy frissítési művelet után.

Beállítások: Always, Never, OnUpdate, OnInsert.
CanBeNull Booleán true Azt jelzi, hogy egy oszlop null értékeket tartalmazhat.
DbType Lánc A következtetett adatbázis oszloptípusa Adatbázistípusokat és módosítókat használ az adatbázisoszlop típusának megadásához.
Expression Lánc Üres Egy adatbázis számított oszlopát határozza meg.
IsDbGenerated Booleán false Azt jelzi, hogy egy oszlop olyan értékeket tartalmaz, amelyeket az adatbázis automatikusan generál.
IsDiscriminator Booleán false Azt jelzi, hogy az oszlop diszkriminatív értéket tartalmaz a LINQ és az SQL öröklési hierarchiája számára.
IsPrimaryKey Booleán false Megadja, hogy ez az osztálytag egy olyan oszlopot jelöl, amely a tábla elsődleges kulcsainak része vagy része.
IsVersion Booleán false A tag oszloptípusát adatbázis-időbélyegként vagy verziószámként azonosítja.
UpdateCheck UpdateCheck Always, kivéve, ha IsVersion tag egy true Megadja, hogyan közelíti meg a LINQ to SQL az optimista egyidejűségi ütközések észlelését.

További információért lásd ColumnAttribute.

Megjegyzés:

Az AssociationAttribute és a ColumnAttribute Storage tulajdonság értékei érzékenyek a kis- és nagybetűk különbségeire. Győződjön meg például arról, hogy az AssociationAttribute.Storage tulajdonság attribútumában használt értékek megegyeznek a kód más részein használt megfelelő tulajdonságnevek esetével. Ez az összes .NET-programozási nyelvre vonatkozik, még azokra is, amelyek általában nem érzékenyek a kis- és nagybetűkre, beleértve a Visual Basicet is. További információ a Storage tulajdonságról: DataAttribute.Storage.

AssociationAttribute attribútum

Ezzel az attribútummal kijelölhet egy tulajdonságot, amely társításokat jelöl az adatbázisban, például egy idegen kulcsot az elsődleges kulcshoz. A kapcsolatokról további információt az Adatbázis-kapcsolatok leképezése című témakörben talál.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
DeleteOnNull Booleán false Ha olyan társításra kerül, amelynek idegenkulcs-tagjai mind nem null értékűek, akkor törli az objektumot, amikor a társítás null értékűre van állítva.
DeleteRule Lánc Egyik sem Törlési viselkedést ad hozzá egy társításhoz.
IsForeignKey Booleán false Ha igaz, az adatbázis-kapcsolatot képviselő társításban a tagot jelöli meg idegen kulcsként.
IsUnique Booleán false Ha igaz, az idegen kulcs egyediségi korlátozását jelzi.
OtherKey Lánc A kapcsolódó osztály azonosítója A cél entitásosztály egy vagy több tagját jelöli meg kulcsértékként a társítás másik oldalán.
ThisKey Lánc A tartalmazó osztály azonosítója Az entitásosztály tagjait jelöli ki a társítás ezen oldalán található kulcsértékek megjelenítéséhez.

További információért lásd AssociationAttribute.

Megjegyzés:

Az AssociationAttribute és a ColumnAttribute Storage tulajdonság értékei érzékenyek a kis- és nagybetűk különbségeire. Győződjön meg például arról, hogy az AssociationAttribute.Storage tulajdonság attribútumában használt értékek megegyeznek a kód más részein használt megfelelő tulajdonságnevek esetével. Ez az összes .NET-programozási nyelvre vonatkozik, még azokra is, amelyek általában nem érzékenyek a kis- és nagybetűkre, beleértve a Visual Basicet is. További információ a Storage tulajdonságról: DataAttribute.Storage.

InheritanceMappingAttribute attribútum

Ezzel az attribútummal képezhet le egy öröklési hierarchiát.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
Code Lánc Nincs. Az értéket meg kell adni. A diszkriminatív kódértékét adja meg.
IsDefault Booleán false Ha igaz, akkor egy ilyen típusú objektumot példányosít, ha az áruházban egyetlen diszkriminatív érték sem felel meg a megadott értékek egyikének.
Type típus Nincs. Az értéket meg kell adni. A hierarchia osztálytípusát adja meg.

További információért lásd InheritanceMappingAttribute.

FunctionAttribute attribútum

Ezzel az attribútummal egy metódust jelölhet az adatbázisban tárolt eljárást vagy felhasználó által definiált függvényt képviselőként.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
IsComposable Booleán false Ha hamis, a tárolt eljáráshoz köthető hozzárendelést jelzi. Ha igaz, a felhasználó által definiált függvényre való leképezést jelzi.
Name Lánc Ugyanaz a sztring, mint az adatbázisban lévő név A tárolt eljárás vagy a felhasználó által megadott függvény nevét adja meg.

További információért lásd FunctionAttribute.

ParameterAttribute attribútum

Ezzel az attribútummal állíthat be bemeneti paramétereket a tárolt eljárás metódusokra.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
DbType Lánc Egyik sem Az adatbázis típusát adja meg.
Name Lánc Ugyanaz a sztring, mint a paraméter neve az adatbázisban Megadja a paraméter nevét.

További információért lásd ParameterAttribute.

ResultTypeAttribute attribútum

Ezzel az attribútummal adhat meg eredménytípust.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
Type típus (Nincs) A IMultipleResults-t visszaadó tárolt eljárásokra leképezett metódusokon használatos. Deklarálja a tárolt eljárás érvényes vagy várt típusleképezéseit.

További információért lásd ResultTypeAttribute.

DataAttribute attribútum

Ezzel az attribútummal neveket és privát tárolómezőket adhat meg.

Az alábbi táblázat az attribútum tulajdonságait ismerteti.

Ingatlan típus Alapértelmezett Leírás
Name Lánc Ugyanaz, mint az adatbázisban lévő név A tábla, oszlop stb. nevét adja meg.
Storage Lánc Nyilvános hozzáférők A mögöttes tárolómező nevét adja meg.

További információért lásd DataAttribute.

Lásd még