TableAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データベース テーブルに関連付けられているエンティティ クラスとしてクラスを指定します。
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
- 継承
- 属性
例
[Table(Name = "Customers")]
public class Customer
{
// ...
}
<Table(Name:="Customers")> _
Public Class Customer
' ...
End Class
注釈
TableAttribute属性を使用して、データベース テーブルまたはビューに関連付けられているエンティティ クラスとしてクラスを指定します。 LINQ to SQL は、 TableAttribute 属性を持つクラスを永続的なクラスとして扱います。
LINQ to SQL では、単一テーブル マッピングのみがサポートされます。 つまり、エンティティ クラスは 1 つのデータベース テーブルに正確にマップする必要があり、データベース テーブルを複数のクラスに同時にマップすることはできません。
TableAttribute属性のNameプロパティを使用してテーブルの名前を指定できます。また、必要に応じてスキーマ名を使用してテーブル名を修飾することもできます。 Name プロパティを使用して名前を指定しない場合、テーブル名はクラス名と同じであると見なされます。
スキーマ修飾名
必要に応じて、スキーマ名を使用してテーブル名を修飾できます。 既定では、 Name 文字列の最初のピリオドの左側にあるトークンはスキーマ名と見なされます。 名前の残りの部分はテーブル名と見なされます。 プロバイダーは、必要に応じてテーブル名を引用符で囲みます。 たとえば、SQL Server用の LINQ to SQL プロバイダーでは、少なくとも必要な場所で角かっこが使用されます。
注
場合によっては、SQL Server プロバイダーが自動引用符で囲むことができないため、属性を明示的に引用符で囲む必要があります。 次の表に例を示します。
| ケース | 例: 識別子名 | 例: 属性内の予期される文字列 | それ以外の場合... |
|---|---|---|---|
| スキーマ名にピリオドが含まれている | スキーマ: "A.B" 表: "C" |
"[A.B]。C" | 最初のピリオドは、スキーマ名とテーブル名を区切るものとします。 |
スキーマ/テーブル名の先頭は @ |
"@SomeName" | "[@SomeName]" | パラメーター名と見なされます。 |
スキーマは [ で始まり、 ] |
"[Schema.Table]" | "[[スキーマ]。[Table]]]" | 引用符で囲まれていない識別子は、引用符で囲まれた識別子に似ています。 |
テーブルは [ で始まり、 ] |
"[テーブル]" | "[[テーブル]]] " | 引用符で囲まれていない識別子は、引用符で囲まれた識別子に似ています。 |
コンストラクター
| 名前 | 説明 |
|---|---|
| TableAttribute() |
TableAttribute クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Name |
テーブルまたはビューの名前を取得または設定します。 |
| TypeId |
派生クラスで実装されている場合は、この Attributeの一意の識別子を取得します。 (継承元 Attribute) |
メソッド
| 名前 | 説明 |
|---|---|
| Equals(Object) |
このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 (継承元 Attribute) |
| GetHashCode() |
このインスタンスのハッシュ コードを返します。 (継承元 Attribute) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| IsDefaultAttribute() |
派生クラスでオーバーライドされた場合、このインスタンスの値が派生クラスの既定値であるかどうかを示します。 (継承元 Attribute) |
| Match(Object) |
派生クラスでオーバーライドされた場合、このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 (継承元 Attribute) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
一連の名前を対応する一連のディスパッチ識別子に割り当てます。 (継承元 Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
インターフェイスの型情報を取得するために使用できるオブジェクトの型情報を取得します。 (継承元 Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 (継承元 Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
オブジェクトによって公開されるプロパティとメソッドへのアクセスを提供します。 (継承元 Attribute) |