Attribútumalapú leképezés
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ályba, és oszlopokat és kapcsolatokat az adott osztályok tulajdonságaihoz. 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 Objektumrelációs Tervező 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.
Feljegyzé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ót a névtérben System.Data.Linq.Mapping talál.
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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
Name | Sztring | Lásd: Name | A tulajdonságával Name együtt az adatbázis nevét adja meg. |
További információ: 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
Name | Sztring | 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ó: TableAttribute.
ColumnAttribute attribú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 állandónak minősülnek, és nem lesznek elküldve beszúrásokhoz vagy frissítésekhez.
Az alábbi táblázat az attribútum tulajdonságait ismerteti.
Tulajdonság | 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 | Logikai | true |
Azt jelzi, hogy egy oszlop null értékeket tartalmazhat. |
DbType | Sztring | A késleltetett adatbázis oszloptípusa | Adatbázistípusokat és módosítókat használ az adatbázisoszlop típusának megadásához. |
Expression | Sztring | Üres | Egy adatbázis számított oszlopát határozza meg. |
IsDbGenerated | Logikai | false |
Azt jelzi, hogy egy oszlop olyan értékeket tartalmaz, amelyeket az adatbázis automatikusan generál. |
IsDiscriminator | Logikai | 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 | Logikai | 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 | Logikai | 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 egy true tag |
Meghatározza, hogyan közelíti meg az SQL LINQ az optimista egyidejűségi ütközések észlelését. |
További információ: ColumnAttribute.
Feljegyzés
Az AssociationAttribute és a ColumnAttribute Storage tulajdonság értékei megkülönböztetik a kis- és nagybetűket. 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
DeleteOnNull | Logikai | 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 | Sztring | Egyik sem | Törlési viselkedést ad hozzá egy társításhoz. |
IsForeignKey | Logikai | false |
Ha igaz, az adatbázis-kapcsolatot képviselő társításban a tagot jelöli meg idegen kulcsként. |
IsUnique | Logikai | false |
Ha igaz, az idegen kulcs egyediségi korlátozását jelzi. |
OtherKey | Sztring | 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 | Sztring | 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ó: AssociationAttribute.
Feljegyzés
Az AssociationAttribute és a ColumnAttribute Storage tulajdonság értékei megkülönböztetik a kis- és nagybetűket. 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
Code | Sztring | Nincs. Az értéket meg kell adni. | A diszkriminatív kódértékét adja meg. |
IsDefault | Logikai | 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ó: 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
IsComposable | Logikai | false |
Ha hamis, a tárolt eljáráshoz való leképezést jelzi. Ha igaz, a felhasználó által definiált függvényre való leképezést jelzi. |
Name | Sztring | 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ó: FunctionAttribute.
ParameterAttribute attribútum
Ezzel az attribútummal képezhet le bemeneti paramétereket a tárolt eljárás metódusaihoz.
Az alábbi táblázat az attribútum tulajdonságait ismerteti.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
DbType | Sztring | Egyik sem | Az adatbázis típusát adja meg. |
Name | Sztring | Ugyanaz a sztring, mint a paraméter neve az adatbázisban | Megadja a paraméter nevét. |
További információ: 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
Type | Típus | (Nincs) | A visszaadott IMultipleResultstá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ó: 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.
Tulajdonság | Típus | Alapértelmezett | Leírás |
---|---|---|---|
Name | Sztring | Ugyanaz, mint az adatbázisban lévő név | A tábla, oszlop stb. nevét adja meg. |
Storage | Sztring | Nyilvános tartozékok | A mögöttes tárolómező nevét adja meg. |
További információ: DataAttribute.