Вы должны сделать некоторые изменения в файлах шаблонов t4 (. тт). первым о всех в yourModelName.tt файле создать переменную, как это в строке 5,6,7 ... 13
var tablePerfix="px_";
поиск в этом файле и найти <#=codeStringGenerator.NavigationProperty(navigationProperty)#>
и заменить его
<#=codeStringGenerator.NavigationProperty(navigationProperty).Replace(tablePerfix,"")#>
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>
(itemCollection))
{
fileManager.StartNewFile(entity.Name + ".cs");
BeginNamespace(code);
#>
заменить его
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>
(itemCollection))
{
fileManager.StartNewFile(entity.Name.Replace(tablePerfix,"") + ".cs");
BeginNamespace(code);
и сделать это для следующих кодов
<#=codeStringGenerator.EntityClassOpening(entity).Replace(tablePerfix,"")#>
// ...
public <#=code.Escape(entity).Replace(tablePerfix,"")#>()
// ...
this.<#=code.Escape(navigationProperty).Replace(tablePerfix,"")#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType()).Replace(tablePerfix,"")#>>();
, если у вас есть 2 префикс для таблиц в БД следует использовать метод Replace дважды для каждого префикса
Наконец yourModelName.Context.tt файла create tablePrefix переменная и изменить следующий код
<#=codeStringGenerator.DbSet(entitySet)#>
К
<#=codeStringGenerator.DbSet(entitySet).Replace(tablePerfix,"")#>
Вы используете первый подход к базе данных, где вы импортируете все в файл edmx или используете инструменты для обратного проектирования кода? Если вариант 1, должны быть некоторые подфайлы edmx, которые генерируют модели из модели базы данных, которые могут быть изменены для генерации информации в другой усадьбе. Если альтернатива 2, вы можете добавить свои собственные классы сопоставления, поэтому сопоставьте между первой моделью кода и вашим полем db. Документы: https://msdn.microsoft.com/en-us/data/jj591617.aspx – thsorens
Возможный дубликат: http: // stackoverflow.com/questions/34088641/custom-convention-for-table-with-prefix-entity-framework или, по крайней мере, введение в обычную «конвенцию»! – granadaCoder
@granadaCoder - это не первый код? – TWilly