データベース オブジェクトとサーバー オブジェクトのテンプレートの概要
データベース プロジェクトに項目を追加すると、その項目の既定の定義が、プロジェクト項目テンプレートと呼ばれるプロトタイプから生成されます。 既存のテンプレートをカスタマイズできます。 チームが使用するすべてのテンプレートにコメントを追加する場合などに、既存のテンプレートをカスタマイズできます。 類似のオブジェクトを作成する場合、別のデータベース内に作成する場合でも、カスタム テンプレートを作成しておくと手間が省けます。
テンプレートの操作
次のトピックでは、プロジェクト項目テンプレートの概要、およびプロジェクト項目テンプレートを使用して独自のデータベース プロジェクト項目を作成する方法について説明しています。
Visual Studio テンプレートの概要
Visual Studio テンプレートとその内容について説明します。Visual Studio テンプレートのメタデータ ファイル
テンプレートで必要とされる .vstemplate ファイルについて説明します。プロジェクト テンプレートと項目テンプレートの違い
プロジェクト テンプレートと項目テンプレートの間での内容および使用方法の違いについて説明します。項目テンプレートの作成
項目テンプレートの作成方法を説明するトピックへのリンクが含まれます。方法 : プロジェクト テンプレートと項目テンプレートを配置して整理する
テンプレートを検索するときに Visual Studio がチェックするフォルダーについて説明します。プロジェクトと項目テンプレートのカスタマイズ
プロジェクト テンプレートと項目テンプレートのカスタマイズ方法について説明するトピックを紹介します。
注意
データベース プロジェクトからプロジェクト テンプレートまたは項目テンプレートをエクスポートすると、カスタム テンプレートが [新しい項目の追加] ダイアログ ボックスの [Visual Studio テンプレート] セクションの [マイ テンプレート] に表示されます。 このテンプレートは、他のデータベース オブジェクトと共には表示されません。また、[新しい項目の追加] ダイアログ ボックスの [Visual Studio にインストールされたテンプレート] にも表示されません。
データベース オブジェクト テンプレート
データベース オブジェクトのテンプレートは、Visual Studio のインストール フォルダー内の ItemTemplates フォルダーと Items フォルダーにあります (D:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\SqlServer\ItemTemplates\ など)。データベース スキーマ プロバイダーごとに独自のテンプレートがあります。 たとえば、SQL Server の各バージョンには Table テンプレートがあります。
データベース オブジェクト テンプレートの置き換え可能なパラメーター
データベース オブジェクト テンプレートの .sql ファイル内では、次の置き換え可能なパラメーターを使用できます。
$ChildObjectName$
子データベース オブジェクトの名前を格納します。 このパラメーターは、インデックスなどの項目のテンプレートを定義するときに使用します。インデックスでは、定義するオブジェクトには、別のデータベース オブジェクトとの親子関係が設定されています。$ParentObjectName$
親データベース オブジェクトの名前を格納します。 このパラメーターは、インデックスなどの項目のテンプレートを定義するときに使用します。インデックスでは、定義するオブジェクトには、別のデータベース オブジェクトとの子親関係が設定されています。$rawname$
ユーザーが [新しい項目の追加] ダイアログ ボックスのオブジェクトに付ける未変更の名前を格納します。 このパラメーターは、ユーザー、ロールなどのオブジェクトのテンプレートを定義するときに使用します。$SchemaName$
データベース スキーマの名前を格納します。 このパラメーターは、インデックスなどの項目のテンプレートを定義するときに使用します。インデックスでは、定義するオブジェクトには、別のデータベース オブジェクトとの子親関係が設定されています。 親オブジェクト名には、スキーマ名をプレフィックスとして指定する必要があります。 たとえば、"ALTER TABLE [$SchemaName$].[$ParentObjectName$] ADD CONSTRAINT [$ChildObjectName$] UNIQUE (column_1)" のように指定できます。$SchemaQualifiedObjectName$
スキーマで修飾されたオブジェクト名を格納します。 たとえば、テーブルの作成スクリプトでは、"CREATE TABLE $SchemaQualifiedObjectName$ (col1 INT NOT NULL)" のように使用します。