Delen via


Toewijzing op basis van kenmerken

LINQ naar SQL wijst een SQL Server-database toe aan een LINQ aan het SQL-objectmodel door kenmerken toe te passen of door een extern toewijzingsbestand te gebruiken. In dit onderwerp wordt de benadering op basis van kenmerken beschreven.

In de meest elementaire vorm wijst LINQ aan SQL een database toe aan een DataContext, een tabel aan een klasse en kolommen en relaties met eigenschappen in deze klassen. U kunt ook kenmerken gebruiken om een overnamehiërarchie in uw objectmodel toe te wijzen. Zie Het objectmodel genereren in Visual Basic of C# voor meer informatie.

Ontwikkelaars die Visual Studio gebruiken, voeren doorgaans toewijzingen op basis van kenmerken uit met behulp van Object Relational Designer. U kunt ook het opdrachtregelprogramma SQLMetal gebruiken of u kunt de kenmerken zelf codeeren. Zie Het objectmodel genereren in Visual Basic of C# voor meer informatie.

Notitie

U kunt ook toewijzen met behulp van een extern XML-bestand. Zie Externe toewijzing voor meer informatie.

In de volgende secties worden toewijzingen op basis van kenmerken gedetailleerder beschreven. Zie de System.Data.Linq.Mapping naamruimte voor meer informatie.

Kenmerk DatabaseAttribute

Gebruik dit kenmerk om de standaardnaam van de database op te geven wanneer er geen naam wordt opgegeven door de verbinding. Dit kenmerk is optioneel, maar als u het gebruikt, moet u de Name eigenschap toepassen, zoals beschreven in de volgende tabel.

Eigenschap Type Standaard Beschrijving
Name String Zie Name Wordt gebruikt met Name de eigenschap, geeft de naam van de database op.

Zie DatabaseAttribute voor meer informatie.

Kenmerk TableAttribute

Gebruik dit kenmerk om een klasse aan te wijzen als een entiteitsklasse die is gekoppeld aan een databasetabel of -weergave. LINQ naar SQL behandelt klassen met dit kenmerk als permanente klassen. In de volgende tabel wordt de Name eigenschap beschreven.

Eigenschap Type Standaard Beschrijving
Name String Dezelfde tekenreeks als klassenaam Wijst een klasse aan als een entiteitsklasse die is gekoppeld aan een databasetabel.

Zie TableAttribute voor meer informatie.

ColumnAttribute-kenmerk

Gebruik dit kenmerk om een lid van een entiteitsklasse aan te wijzen voor een kolom in een databasetabel. U kunt dit kenmerk toepassen op elk veld of elke eigenschap.

Alleen de leden die u als kolommen identificeert, worden opgehaald en behouden wanneer LINQ in SQL wijzigingen in de database opslaat. Leden zonder dit kenmerk worden ervan uitgegaan dat ze niet permanent zijn en niet worden verzonden voor invoegingen of updates.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
AutoSync AutoSync Nooit Instrueert de Common Language Runtime (CLR) om de waarde op te halen na een invoeg- of updatebewerking.

Opties: Altijd, Nooit, OnUpdate, OnInsert.
CanBeNull Booleaanse waarde true Geeft aan dat een kolom null-waarden kan bevatten.
DbType String Kolomtype uitgestelde database Maakt gebruik van databasetypen en modifiers om het type van de databasekolom op te geven.
Expression String Leeg Definieert een berekende kolom in een database.
IsDbGenerated Booleaanse waarde false Geeft aan dat een kolom waarden bevat die automatisch door de database worden gegenereerd.
IsDiscriminator Booleaanse waarde false Geeft aan dat de kolom een discriminatorwaarde bevat voor een LINQ naar sql-overnamehiërarchie.
IsPrimaryKey Booleaanse waarde false Hiermee geeft u op dat dit klasselid een kolom vertegenwoordigt die deel uitmaakt van de primaire sleutels van de tabel.
IsVersion Booleaanse waarde false Hiermee wordt het kolomtype van het lid geïdentificeerd als een tijdstempel of versienummer van de database.
UpdateCheck UpdateControle Always, tenzij IsVersion voor true een lid Hiermee geeft u op hoe LINQ naar SQL de detectie van optimistische gelijktijdigheidsconflicten nadert.

Zie ColumnAttribute voor meer informatie.

Notitie

De eigenschapswaarden AssociationAttribute en ColumnAttribute Storage zijn hoofdlettergevoelig. Zorg er bijvoorbeeld voor dat waarden die worden gebruikt in het kenmerk voor de eigenschap AssociationAttribute.Storage overeenkomen met het geval voor de bijbehorende eigenschapsnamen die elders in de code worden gebruikt. Dit geldt voor alle .NET-programmeertalen, zelfs voor programmeertalen die doorgaans niet hoofdlettergevoelig zijn, waaronder Visual Basic. Zie voor meer informatie over de eigenschap DataAttribute.StorageStorage.

AssociationAttribute-kenmerk

Gebruik dit kenmerk om een eigenschap aan te wijzen die een koppeling in de database vertegenwoordigt, zoals een refererende sleutel naar primaire-sleutelrelatie. Zie Instructies voor het toewijzen van databaserelaties voor meer informatie over relaties.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
DeleteOnNull Booleaanse waarde false Wanneer deze wordt geplaatst op een koppeling waarvan de refererende sleutelleden allemaal niet nullbaar zijn, verwijdert u het object wanneer de koppeling is ingesteld op null.
DeleteRule String Geen Hiermee voegt u het gedrag voor verwijderen toe aan een koppeling.
IsForeignKey Booleaanse waarde false Indien waar, wijst u het lid aan als de refererende sleutel in een koppeling die een databaserelatie vertegenwoordigt.
IsUnique Booleaanse waarde false Als waar, geeft u een uniekheidsbeperking voor de refererende sleutel aan.
OtherKey String Id van de gerelateerde klasse Wijst een of meer leden van de doelentiteitsklasse aan als sleutelwaarden aan de andere kant van de koppeling.
ThisKey String Id van de bevatde klasse Wijst leden van deze entiteitsklasse aan om de sleutelwaarden aan deze kant van de koppeling weer te geven.

Zie AssociationAttribute voor meer informatie.

Notitie

De eigenschapswaarden AssociationAttribute en ColumnAttribute Storage zijn hoofdlettergevoelig. Zorg er bijvoorbeeld voor dat waarden die worden gebruikt in het kenmerk voor de eigenschap AssociationAttribute.Storage overeenkomen met het geval voor de bijbehorende eigenschapsnamen die elders in de code worden gebruikt. Dit geldt voor alle .NET-programmeertalen, zelfs voor programmeertalen die doorgaans niet hoofdlettergevoelig zijn, waaronder Visual Basic. Zie voor meer informatie over de eigenschap DataAttribute.StorageStorage.

InheritanceMappingAttribute Attribute

Gebruik dit kenmerk om een overnamehiërarchie toe te wijzen.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
Code String Geen. De waarde moet worden opgegeven. Hiermee geeft u de codewaarde van de discriminator.
IsDefault Booleaanse waarde false Indien waar, wordt een object van dit type geïnstitueerd wanneer er geen discriminatorwaarde in het archief overeenkomt met een van de opgegeven waarden.
Type Type Geen. De waarde moet worden opgegeven. Hiermee geeft u het type van de klasse in de hiërarchie.

Zie InheritanceMappingAttribute voor meer informatie.

Kenmerk FunctionAttribute

Gebruik dit kenmerk om een methode aan te wijzen die een opgeslagen procedure of door de gebruiker gedefinieerde functie in de database vertegenwoordigt.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
IsComposable Booleaanse waarde false Als dit onwaar is, wordt de toewijzing aan een opgeslagen procedure aangegeven. Als waar, geeft dit de toewijzing aan een door de gebruiker gedefinieerde functie aan.
Name String Dezelfde tekenreeks als de naam in de database Hiermee geeft u de naam van de opgeslagen procedure of door de gebruiker gedefinieerde functie.

Zie FunctionAttribute voor meer informatie.

ParameterAttribute-kenmerk

Gebruik dit kenmerk om invoerparameters toe te wijzen aan opgeslagen proceduremethoden.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
DbType String Geen Hiermee geeft u het databasetype op.
Name String Dezelfde tekenreeks als de parameternaam in de database Hiermee geeft u een naam voor de parameter.

Zie ParameterAttribute voor meer informatie.

Kenmerk ResultTypeAttribute

Gebruik dit kenmerk om een resultaattype op te geven.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
Type Type (Geen) Wordt gebruikt op methoden die zijn toegewezen aan opgeslagen procedures die worden geretourneerd IMultipleResults. Declareert de geldige of verwachte typetoewijzingen voor de opgeslagen procedure.

Zie ResultTypeAttribute voor meer informatie.

Kenmerk DataAttribute

Gebruik dit kenmerk om namen en privéopslagvelden op te geven.

In de volgende tabel worden de eigenschappen van dit kenmerk beschreven.

Eigenschap Type Standaard Beschrijving
Name String Hetzelfde als de naam in de database Hiermee geeft u de naam van de tabel, kolom enzovoort.
Storage String Openbare toegangsrechten Hiermee geeft u de naam van het onderliggende opslagveld.

Zie DataAttribute voor meer informatie.

Zie ook