Designates a class as an entity class that is associated with a database table.
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := False, Inherited := False)> _ Public NotInheritable Class TableAttribute _ Inherits Attribute
Dim instance As TableAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class TableAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = false, Inherited = false)] public ref class TableAttribute sealed : public Attribute
public final class TableAttribute extends Attribute
Use this attribute to designate a class as an entity class that is associated with a database table or view. LINQ to SQL treats classes that have the TableAttribute attribute as persistent classes.
LINQ to SQL supports only single-table mapping. That is, an entity class must be mapped to exactly one database table, and you cannot map a database table to multiple classes at the same time.
You can use the Name property of the TableAttribute attribute to specify a name for the table, and you can optionally use the schema name to qualify a table name. If you do not specify a name by using the Name property, the table name is assumed to be the same as the class name.
You can optionally use the schema name to qualify a table name. By default, the token to the left of the first period in the Name string is considered to be the schema name. The remainder of the name is considered to be the table name. The provider quotes the table name as appropriate. For example, the LINQ to SQL provider for SQL Server makes sure that brackets are used at least where they are needed.
In some cases, you must explicitly quote attributes because the SQL Server provider cannot auto-quote. The following table shows some examples.
Case
Example: Identifier Name
Example: Expected String in Attributes
Otherwise…
Schema name contains a period
Schema: "A.B"
Table: "C"
"[A.B].C"
The first period is assumed to separate the schema name from the table name.
Schema/Table name starts with @
"@SomeName"
"[@SomeName]"
Assumed to be a parameter name.
Schema starts with [ and ends with ]
"[Schema.Table]"
"[[Schema].[Table]]]"
The unquoted identifier resembles a quoted identifier.
Table starts with [ and ends with ]
"[Table]"
"[[Table]]]"
<Table(Name:="Customers")> _ Public Class Customer ' ... End Class
[Table(Name = "Customers")] public class Customer { // ... }
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003