データベース生成ワークフローが使用する edmx ファイルを生成するためのテンプレートがあるかどうかはわかりませんが、DDL 生成用のテンプレートを使用していることは間違いありません。これは次のパスにあります:
<Program Files>\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen
このフォルダー内SSDLToSQL10.tt
で、VS2010 が認識できるようにするには、このファイルを手動でコピーして同じフォルダーに貼り付ける必要があります。その後、テーブルのプレフィックスとして変更およびカスタマイズできます。 DB命名規則に基づく名前。T4 テンプレート内で、次のコードを探します。
foreach (EntitySet entitySet in Store.GetAllEntitySets())
{
string schemaName = Id(entitySet.GetSchemaName());
string tableName = Id(entitySet.GetTableName());
...
テーブル名を変更して、カスタム プレフィックスを付けることができます。T4 内には上記のコードを持つ 3 つの場所があり、プレフィックスを適用する必要があります。完了したら、ファイルを保存して閉じ、VS 内の EDM に戻ります。DDL Generation Template プロパティをドロップダウンすると、コピーして変更した新しい T4 ファイルが使用可能なオプションであることがわかります。それを選択すると、モデルからデータベースを生成するときに、テーブル名にプレフィックスが付いていることがわかります。
したがって、テンプレートを変更して、DDL の構築方法をカスタマイズすることができます。難しい問題があります。ワークフローは、変更された T4 を使用して、ストレージおよびマッピング定義 (SSDL および MSL) の edmx ファイルを変更しません。そのため、データベースが正しく作成されていても、edmx は元のテーブル名を指しています。
したがって、XML エディターで edmx を開き、CS マッピング (MSL) と SSDL の内容を手動で変更してプレフィックスを付ける必要があります。そのためには、マッピングでStoreEntitySetを変更し、SSDL コンテンツで EntitySet の名前を変更するだけです。