Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
LINQ to SQL ordnet eine SQL Server-Datenbank einem LINQ to SQL-Objektmodell zu, indem Attribute angewendet oder eine externe Zuordnungsdatei verwendet wird. In diesem Thema wird der attributbasierte Ansatz beschrieben.
In der einfachsten Form weist LINQ to SQL eine Datenbank einem DataContext, eine Tabelle einer Klasse und Spalten/Beziehungen den Eigenschaften dieser Klassen zu. Sie können auch Attribute verwenden, um eine Vererbungshierarchie in Ihrem Objektmodell zuzuordnen. Weitere Informationen finden Sie unter How to: Generate the Object Model in Visual Basic or C#.
Entwickler, die Visual Studio verwenden, führen in der Regel attributbasierte Zuordnungen mithilfe des objektrelationalen Designers aus. Sie können auch das SQLMetal-Befehlszeilentool verwenden oder die Attribute selbst manuell codieren. Weitere Informationen finden Sie unter How to: Generate the Object Model in Visual Basic or C#.
Hinweis
Sie können auch mithilfe einer externen XML-Datei eine Zuordnung vornehmen. Weitere Informationen finden Sie unter "Externe Zuordnung".
In den folgenden Abschnitten wird die attributbasierte Zuordnung ausführlicher beschrieben. Weitere Informationen finden Sie im System.Data.Linq.Mapping Namespace.
DatabaseAttribute-Attribut
Verwenden Sie dieses Attribut, um den Standardnamen der Datenbank anzugeben, wenn kein Name von der Verbindung angegeben wird. Dieses Attribut ist optional, aber wenn Sie es verwenden, müssen Sie die Name Eigenschaft anwenden, wie in der folgenden Tabelle beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| Name | Schnur | Siehe Name. | Wird mit seiner Name Eigenschaft verwendet, gibt den Namen der Datenbank an. |
Weitere Informationen finden Sie unter DatabaseAttribute.
TableAttribute-Attribut
Verwenden Sie dieses Attribut, um eine Klasse als Entitätsklasse festzulegen, die einer Datenbanktabelle oder -ansicht zugeordnet ist. LINQ to SQL behandelt Klassen mit diesem Attribut als persistente Klassen. In der folgenden Tabelle wird die Name Eigenschaft beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| Name | Schnur | Gleiche Zeichenfolge wie Klassenname | Legt eine Klasse als Entitätsklasse fest, die einer Datenbanktabelle zugeordnet ist. |
Weitere Informationen finden Sie unter TableAttribute.
ColumnAttribute-Attribut
Verwenden Sie dieses Attribut, um ein Element einer Entitätsklasse festzulegen, um eine Spalte in einer Datenbanktabelle darzustellen. Sie können dieses Attribut auf ein beliebiges Feld oder eine beliebige Eigenschaft anwenden.
Nur die Member, die Sie als Spalten identifizieren, werden abgerufen und beibehalten, wenn LINQ to SQL Änderungen in der Datenbank speichert. Elemente ohne dieses Attribut werden als nicht persistent angenommen und werden nicht für Einfügungen oder Aktualisierungen übermittelt.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| AutoSync | AutoSync | Nie | Weist die Common Language Runtime (CLR) an, den Wert nach einem Einfüge- oder Aktualisierungsvorgang abzurufen. Optionen: Always, Never, OnUpdate, OnInsert. |
| CanBeNull | Boolescher Typ (Boolean) | true |
Gibt an, dass eine Spalte Nullwerte enthalten kann. |
| DbType | Schnur | Abgeleiteter Datenbankspaltentyp | Verwendet Datenbanktypen und Modifizierer, um den Typ der Datenbankspalte anzugeben. |
| Expression | Schnur | Leer | Definiert eine berechnete Spalte in einer Datenbank. |
| IsDbGenerated | Boolescher Typ (Boolean) | false |
Gibt an, dass eine Spalte Werte enthält, die die Datenbank automatisch generiert. |
| IsDiscriminator | Boolescher Typ (Boolean) | false |
Gibt an, dass die Spalte einen Diskriminatorwert für eine LINQ to SQL-Vererbungshierarchie enthält. |
| IsPrimaryKey | Boolescher Typ (Boolean) | false |
Gibt an, dass dieses Klassenelement eine Spalte darstellt, die Teil der Primärschlüssel der Tabelle ist oder ist. |
| IsVersion | Boolescher Typ (Boolean) | false |
Gibt den Spaltentyp des Elements als Datenbankzeitstempel oder Versionsnummer an. |
| UpdateCheck | UpdateCheck |
Always, außer wenn IsVersiontrue für einen Member ist |
Gibt an, wie LINQ to SQL die Erkennung optimistischer Parallelitätskonflikte angeht. |
Weitere Informationen finden Sie unter ColumnAttribute.
Hinweis
Bei den "Storage"-Eigenschaftswerten "AssociationAttribute" und "ColumnAttribute" wird die Groß- und Kleinschreibung beachtet. Stellen Sie beispielsweise sicher, dass werte, die im Attribut für die AssociationAttribute.Storage-Eigenschaft verwendet werden, mit dem Fall für die entsprechenden Eigenschaftsnamen übereinstimmen, die an anderer Stelle im Code verwendet werden. Dies gilt für alle .NET-Programmiersprachen, auch jene, die normalerweise nicht auf Groß- und Kleinschreibung achten, einschließlich Visual Basic. Weitere Informationen zur Speichereigenschaft finden Sie unter DataAttribute.Storage.
AssociationAttribute-Attribut
Verwenden Sie dieses Attribut, um eine Eigenschaft festzulegen, die eine Zuordnung in der Datenbank darstellt, z. B. einen Fremdschlüssel zur Primärschlüsselbeziehung. Weitere Informationen zu Beziehungen finden Sie unter How to: Map Database Relationships.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| DeleteOnNull | Boolescher Typ (Boolean) | false |
Bei Platzierung in einer Zuordnung, für deren Fremdschlüsselmember keine NULL-Werte zulässig sind, wird das Objekt gelöscht, wenn die Zuordnung auf NULL festgelegt wird. |
| DeleteRule | Schnur | Nichts | Fügt einer Verknüpfung Löschfunktionalität hinzu. |
| IsForeignKey | Boolescher Typ (Boolean) | false |
Wenn true, legt den Member als Fremdschlüssel in einer Zuordnung fest, die eine Datenbankbeziehung darstellt. |
| IsUnique | Boolescher Typ (Boolean) | false |
Wenn true, gibt eine Eindeutigkeitseinschränkung des Fremdschlüssels an. |
| OtherKey | Schnur | ID der zugehörigen Klasse | Legt ein oder mehrere Mitglieder der Zielentitäts-Klasse als Schlüsselwerte auf der anderen Seite der Assoziation fest. |
| ThisKey | Schnur | ID der enthaltenden Klasse | Legt Mitglieder dieser Entitätsklasse fest, die die Schlüsselwerte auf dieser Seite der Beziehung darstellen. |
Weitere Informationen finden Sie unter AssociationAttribute.
Hinweis
Bei den "Storage"-Eigenschaftswerten "AssociationAttribute" und "ColumnAttribute" wird die Groß- und Kleinschreibung beachtet. Stellen Sie beispielsweise sicher, dass werte, die im Attribut für die AssociationAttribute.Storage-Eigenschaft verwendet werden, mit dem Fall für die entsprechenden Eigenschaftsnamen übereinstimmen, die an anderer Stelle im Code verwendet werden. Dies gilt für alle .NET-Programmiersprachen, auch jene, die normalerweise nicht auf Groß- und Kleinschreibung achten, einschließlich Visual Basic. Weitere Informationen zur Speichereigenschaft finden Sie unter DataAttribute.Storage.
InheritanceMappingAttribute-Attribut
Verwenden Sie dieses Attribut, um eine Vererbungshierarchie zuzuordnen.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| Code | Schnur | Keiner. Der Wert muss angegeben werden. | Gibt den Codewert des Diskriminators an. |
| IsDefault | Boolescher Typ (Boolean) | false |
Wenn true, instanziiert ein Objekt dieses Typs, wenn kein Diskriminatorwert im Speicher mit einem der angegebenen Werte übereinstimmt. |
| Type | Typ | Keiner. Der Wert muss angegeben werden. | Gibt den Typ der Klasse in der Hierarchie an. |
Weitere Informationen finden Sie unter InheritanceMappingAttribute.
FunctionAttribute-Attribut
Verwenden Sie dieses Attribut, um eine Methode als Darstellung einer gespeicherten Prozedur oder benutzerdefinierten Funktion in der Datenbank festzulegen.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| IsComposable | Boolescher Typ (Boolean) | false |
Wenn falsch, weist darauf hin, dass es sich um eine Zuordnung zu einer gespeicherten Prozedur handelt. Wenn wahr, gibt die Zuordnung zu einer benutzerdefinierten Funktion an. |
| Name | Schnur | Gleiche Zeichenfolge wie Name in der Datenbank | Gibt den Namen der gespeicherten Prozedur oder benutzerdefinierten Funktion an. |
Weitere Informationen finden Sie unter FunctionAttribute.
ParameterAttribute-Attribut
Verwenden Sie dieses Attribut, um Eingabeparameter für gespeicherte Prozedurmethoden zuzuordnen.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| DbType | Schnur | Nichts | Gibt den Datenbanktyp an. |
| Name | Schnur | Gleiche Zeichenfolge wie Parametername in der Datenbank | Gibt einen Namen für den Parameter an. |
Weitere Informationen finden Sie unter ParameterAttribute.
ResultTypeAttribute-Attribut
Verwenden Sie dieses Attribut, um einen Ergebnistyp anzugeben.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| Type | Typ | (Keine) | Wird für Methoden verwendet, die gespeicherten Prozeduren zugeordnet sind, die IMultipleResults zurückgeben. Deklariert die gültigen oder erwarteten Typzuordnungen für die gespeicherte Prozedur. |
Weitere Informationen finden Sie unter ResultTypeAttribute.
DataAttribute-Attribut
Verwenden Sie dieses Attribut, um Namen und private Speicherfelder anzugeben.
In der folgenden Tabelle werden die Eigenschaften dieses Attributs beschrieben.
| Eigentum | Typ | Standard | BESCHREIBUNG |
|---|---|---|---|
| Name | Schnur | Identisch mit dem Namen in der Datenbank | Gibt den Namen der Tabelle, Spalte usw. an. |
| Storage | Schnur | Öffentliche Zugriffsmethoden | Gibt den Namen des zugrunde liegenden Speicherfelds an. |
Weitere Informationen finden Sie unter DataAttribute.