Я не уверен, есть ли шаблон для создания файлов edmx, который будет использовать Рабочий процесс создания базы данных , но он определенно использует его для генерации DDL. который расположен на этом пути:
<Program Files>\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen
Внутри этой папки найдите файл с именем SSDLToSQL10.tt
. Вам придется вручную скопировать и вставить этот файл в ту же самую папку, чтобы VS2010 мог его распознать, а затем вы можете изменить и настроить его так, чтобы префикс имен таблиц основывался на Соглашение об именах БД.
Внутри шаблона T4 ищите этот код:
foreach (EntitySet entitySet in Store.GetAllEntitySets())
{
string schemaName = Id(entitySet.GetSchemaName());
string tableName = Id(entitySet.GetTableName());
...
Вы можете изменить имя таблицы, чтобы иметь свой собственный префикс. В T4 есть 3 места, в которых есть вышеуказанный код, и вам нужно применить префикс. Как только вы закончите, сохраните и закройте файл и вернитесь к вашему EDM внутри VS. Вы увидите, что теперь, когда вы раскрываете свойство шаблона генерации DDL, новый файл T4, который вы скопировали и изменили, является доступной опцией. Выберите это, и теперь, когда вы генерируете базу данных из модели, вы обнаружите, что ваши имена таблиц имеют префикс
Следовательно, можно изменить шаблон и настроить построение DDL. Тут есть одна загвоздка: рабочий процесс не использует модифицированный T4 для изменения файла edmx для определений хранилища и сопоставлений (SSDL и MSL). Таким образом, даже если база данных была создана правильно, edmx все еще указывает на исходные имена таблиц.
Поэтому вам нужно открыть edmx в редакторе XML и вручную изменить отображение C-S (MSL) и SSDL, чтобы иметь свои префиксы. Для этого вам нужно только изменить StoreEntitySet в отображениях и имя EntitySet в содержимом SSDL.