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 seiner elementarsten Form ordnet LINQ to SQL einer Datenbank, DataContexteiner Tabelle einer Klasse und Spalten und Beziehungen zu Eigenschaften für diese 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 eine externe XML-Datei zuordnen. 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 , es sei dennIsVersion, ein Mitglied ist true |
Gibt an, wie LINQ to SQL die Erkennung optimistischer Parallelitätskonflikte nähert. |
Weitere Informationen finden Sie unter ColumnAttribute.
Hinweis
Die Werte der AssociationAttribute- und ColumnAttribute Storage-Eigenschaft beachten die Groß-/Kleinschreibung. 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 für sprachen, bei denen in der Regel die Groß-/Kleinschreibung nicht beachtet wird, einschließlich Visual Basic. Weitere Informationen zur Storage-Eigenschaft 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 |
Wenn sie für eine Zuordnung platziert wird, deren Fremdschlüsselmember alle nicht nullfähig sind, wird das Objekt gelöscht, wenn die Zuordnung auf NULL festgelegt ist. |
DeleteRule | Schnur | Nichts | Fügt einer Zuordnung Löschverhalten hinzu. |
IsForeignKey | Boolescher Typ (Boolean) | false |
Bei "true" wird das Mitglied als Fremdschlüssel in einer Zuordnung festgelegt, die eine Datenbankbeziehung darstellt. |
IsUnique | Boolescher Typ (Boolean) | false |
Wenn true, gibt eine Eindeutigkeitseinschränkung für den Fremdschlüssel an. |
OtherKey | Schnur | ID der zugehörigen Klasse | Legt mindestens ein Element der Zielentitätsklasse als Schlüsselwerte auf der anderen Seite der Zuordnung fest. |
ThisKey | Schnur | ID der enthaltenden Klasse | Legt Member dieser Entitätsklasse fest, um die Schlüsselwerte auf dieser Seite der Zuordnung darzustellen. |
Weitere Informationen finden Sie unter AssociationAttribute.
Hinweis
Die Werte der AssociationAttribute- und ColumnAttribute Storage-Eigenschaft beachten die Groß-/Kleinschreibung. 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 für sprachen, bei denen in der Regel die Groß-/Kleinschreibung nicht beachtet wird, einschließlich Visual Basic. Weitere Informationen zur Storage-Eigenschaft 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 false, gibt die Zuordnung zu einer gespeicherten Prozedur an. 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 zurückgegeben werden IMultipleResults. 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 Accessoren | Gibt den Namen des zugrunde liegenden Speicherfelds an. |
Weitere Informationen finden Sie unter DataAttribute.