TableAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce una classe come classe di entità associata a una tabella di database.
public ref class TableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class TableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type TableAttribute = class
inherit Attribute
Public NotInheritable Class TableAttribute
Inherits Attribute
- Ereditarietà
- Attributi
Esempio
[Table(Name = "Customers")]
public class Customer
{
// ...
}
<Table(Name:="Customers")> _
Public Class Customer
' ...
End Class
Commenti
Usare l'attributo TableAttribute per designare una classe come classe di entità associata a una tabella o a una vista di database. LINQ to SQL considera le classi con l'attributo TableAttribute come classi persistenti.
LINQ to SQL supporta solo il mapping a tabella singola. Ovvero, è necessario eseguire il mapping di una classe di entità esattamente a una tabella di database e non è possibile eseguire il mapping di una tabella di database a più classi contemporaneamente.
È possibile utilizzare la Name proprietà dell'attributo TableAttribute per specificare un nome per la tabella ed eventualmente usare il nome dello schema per qualificare un nome di tabella. Se non si specifica un nome utilizzando la Name proprietà , si presuppone che il nome della tabella corrisponda al nome della classe.
Nomi completi dello schema
Facoltativamente, è possibile usare il nome dello schema per qualificare un nome di tabella. Per impostazione predefinita, il token a sinistra del primo periodo nella Name stringa viene considerato come il nome dello schema. Il resto del nome viene considerato il nome della tabella. Il provider virgolette il nome della tabella in base alle esigenze. Ad esempio, il provider LINQ to SQL per SQL Server assicura che le parentesi quadre vengano usate almeno dove sono necessarie.
Note
In alcuni casi, è necessario specificare in modo esplicito gli attributi perché il provider di SQL Server non può includere l'offerta automatica. La tabella seguente illustra alcuni esempi.
| Caso | Esempio: Nome identificatore | Esempio: stringa prevista negli attributi | Altrimenti... |
|---|---|---|---|
| Il nome dello schema contiene un punto | Schema: "A.B" Tabella: "C" |
"[A.B]. C" | Si presuppone che il primo punto separa il nome dello schema dal nome della tabella. |
Il nome dello schema/tabella inizia con @ |
"@SomeName" | "[@SomeName]" | Si presuppone che sia un nome di parametro. |
Lo schema inizia con e termina con [] |
"[Schema.Table]" | "[Schema]. [Tabella]]]" | L'identificatore senza virgolette è simile a un identificatore tra virgolette. |
La tabella inizia con e termina con [] |
"[Table]" | "[[Table]]]" | L'identificatore senza virgolette è simile a un identificatore tra virgolette. |
Costruttori
| Nome | Descrizione |
|---|---|
| TableAttribute() |
Inizializza una nuova istanza della classe TableAttribute. |
Proprietà
| Nome | Descrizione |
|---|---|
| Name |
Ottiene o imposta il nome della tabella o della vista. |
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per questa istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
| Match(Object) |
Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |