Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
LINQ to SQL mapuje databázi SQL Serveru na objektový model LINQ to SQL buď použitím atributů, nebo pomocí externího souboru mapování. Toto téma popisuje přístup založený na atributech.
Ve své nejzákladnější podobě LINQ to SQL mapuje databázi na DataContext, tabulku na třídu a sloupce a relace na vlastnosti v těchto třídách. Pomocí atributů můžete také mapovat hierarchii dědičnosti v objektového modelu. Další informace naleznete v tématu Postupy: Generování objektového modelu v jazyce Visual Basic nebo C#.
Vývojáři používající Visual Studio obvykle provádějí mapování na základě atributů pomocí Návrháře relačních objektů. Můžete také použít nástroj příkazového řádku SQLMetal nebo můžete atributy ručně zakódovat sami. Další informace naleznete v tématu Postupy: Generování objektového modelu v jazyce Visual Basic nebo C#.
Poznámka:
Mapování můžete také provést pomocí externího souboru XML. Další informace naleznete v tématu Externí mapování.
Následující části popisují mapování na základě atributů podrobněji. Pro více informací viz System.Data.Linq.Mapping jmenný prostor.
Atribut DatabaseAttribute
Tento atribut použijte k určení výchozího názvu databáze, pokud připojení nezadá název. Tento atribut je nepovinný, ale pokud ho použijete, musíte Name použít vlastnost, jak je popsáno v následující tabulce.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
Name | Řetězec | Viz Name. | Používá se s její vlastností Name, určuje název databáze. |
Další informace najdete v tématu DatabaseAttribute.
Atribut TableAttribute
Tento atribut použijte k určení třídy jako třídy entity, která je přidružena k databázové tabulce nebo zobrazení. LINQ to SQL zpracovává třídy, které mají tento atribut jako trvalé třídy. Následující tabulka popisuje Name vlastnost.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
Name | Řetězec | Stejný řetězec jako název třídy | Určuje třídu jako třídu entity přidruženou k databázové tabulce. |
Další informace najdete v tématu TableAttribute.
ColumnAttribute – atribut
Tento atribut použijte k určení člena třídy entity, který představuje sloupec v tabulce databáze. Tento atribut můžete použít u libovolného pole nebo vlastnosti.
Když LINQ to SQL uloží změny do databáze, pouze členové, které identifikujete jako sloupce, se načtou a zachovají. U členů bez tohoto atributu se předpokládá, že nejsou trvalé a neodesílají se pro vložení nebo aktualizace.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
AutoSync | Automatická synchronizace | Nikdy | Dává modulu CLR (Common Language Runtime) pokyn k načtení hodnoty po operaci vložení nebo aktualizace. Možnosti: Always, Never, OnUpdate, OnInsert. |
CanBeNull | Boolovská logika | true |
Označuje, že sloupec může obsahovat hodnoty null. |
DbType | Řetězec | Odvozený typ sloupce databáze | Používá typy databází a modifikátory k určení typu sloupce databáze. |
Expression | Řetězec | Prázdný | Definuje vypočítaný sloupec v databázi. |
IsDbGenerated | Boolovská logika | false |
Označuje, že sloupec obsahuje hodnoty, které databáze automaticky generuje. |
IsDiscriminator | Boolovská logika | false |
Označuje, že sloupec obsahuje diskriminující hodnotu pro hierarchii dědičnosti LINQ to SQL. |
IsPrimaryKey | Boolovská logika | false |
Určuje, že tento člen třídy představuje sloupec, který je nebo je součástí primárních klíčů tabulky. |
IsVersion | Boolovská logika | false |
Identifikuje typ sloupce člena jako časové razítko databáze nebo číslo verze. |
UpdateCheck | UpdateCheck |
Always , pokud IsVersion není true členem |
Určuje, jak LINQ to SQL přistupuje k detekci optimistických konfliktů souběžnosti. |
Další informace najdete v tématu ColumnAttribute.
Poznámka:
Hodnoty vlastností AssociationAttribute a ColumnAttribute Storage rozlišují malá a velká písmena. Ujistěte se například, že hodnoty použité v atributu pro AssociationAttribute.Storage vlastnost odpovídají případu odpovídajících názvů vlastností použitých jinde v kódu. To platí pro všechny programovací jazyky .NET, i ty, které obvykle nerozlišují velká a malá písmena, včetně jazyka Visual Basic. Další informace o vlastnosti Storage naleznete v tématu DataAttribute.Storage.
Atribut AssociationAttribute
Pomocí tohoto atributu můžete určit vlastnost představující přidružení v databázi, například cizí klíč k vztahu primárního klíče. Pro více informací o relacích, viz Jak na to: Mapovat databázové vztahy.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
DeleteOnNull | Boolovská logika | false |
Když je asociace stanovena na objekt, jehož členy cizího klíče nemohou mít hodnotu null, odstraní objekt, pokud se asociace nastaví na null. |
DeleteRule | Řetězec | Žádné | Přidá vlastnost odstranění k přidružení. |
IsForeignKey | Boolovská logika | false |
Pokud je hodnota true, označí člena jako cizí klíč v asociaci, která představuje vztah databáze. |
IsUnique | Boolovská logika | false |
Pokud je hodnota true, označuje omezení jedinečnosti cizího klíče. |
OtherKey | Řetězec | ID související třídy | Určuje jednoho nebo více členů cílové třídy entity jako klíčové hodnoty na opačné straně vztahu. |
ThisKey | Řetězec | ID obsahující třídy | Určuje členy této třídy entity, které představují klíčové hodnoty na této straně přidružení. |
Další informace najdete v tématu AssociationAttribute.
Poznámka:
Hodnoty vlastností AssociationAttribute a ColumnAttribute Storage rozlišují malá a velká písmena. Ujistěte se například, že hodnoty použité v atributu pro AssociationAttribute.Storage vlastnost odpovídají případu odpovídajících názvů vlastností použitých jinde v kódu. To platí pro všechny programovací jazyky .NET, i ty, které obvykle nerozlišují velká a malá písmena, včetně jazyka Visual Basic. Další informace o vlastnosti Storage naleznete v tématu DataAttribute.Storage.
Atribut InheritanceMappingAttribute
Tento atribut slouží k mapování hierarchie dědičnosti.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
Code | Řetězec | Žádné. Hodnota musí být zadána. | Určuje hodnotu kódu diskriminátoru. |
IsDefault | Boolovská logika | false |
Pokud je hodnota true, vytvoří instanci objektu tohoto typu, pokud žádná diskriminující hodnota v úložišti neodpovídá žádné ze zadaných hodnot. |
Type | Typ | Žádné. Hodnota musí být zadána. | Určuje typ třídy v hierarchii. |
Další informace najdete v tématu InheritanceMappingAttribute.
FunctionAttribute atribut
Pomocí tohoto atributu můžete určit metodu představující uloženou proceduru nebo uživatelem definovanou funkci v databázi.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
IsComposable | Boolovská logika | false |
Pokud je false, označuje mapování na uloženou proceduru. Pokud je hodnota true, označuje mapování na uživatelem definovanou funkci. |
Name | Řetězec | Stejný řetězec jako název v databázi | Určuje název uložené procedury nebo uživatelem definované funkce. |
Další informace najdete v tématu FunctionAttribute.
Atribut ParameterAttribute
Tento atribut slouží k mapování vstupních parametrů u metod uložených procedur.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
DbType | Řetězec | Žádné | Určuje typ databáze. |
Name | Řetězec | Stejný řetězec jako název parametru v databázi | Určuje název parametru. |
Další informace najdete v tématu ParameterAttribute.
ResultTypeAttribute – atribut
Tento atribut použijte k určení typu výsledku.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
Type | Typ | (Žádné) | Používá se u metod mapovaných na uložené procedury, které vrací IMultipleResults. Deklaruje platné nebo očekávané mapování typů pro uloženou proceduru. |
Další informace najdete v tématu ResultTypeAttribute.
Atribut DataAttribute
Tento atribut použijte k určení názvů a polí privátního úložiště.
Následující tabulka popisuje vlastnosti tohoto atributu.
Vlastnictví | Typ | Výchozí | Popis |
---|---|---|---|
Name | Řetězec | Stejné jako název v databázi | Určuje název tabulky, sloupce atd. |
Storage | Řetězec | Veřejné přístupové objekty | Určuje název podkladového pole úložiště. |
Další informace najdete v tématu DataAttribute.