Процедура Format в элементе проекта не имеет никакого влияния
Я хотел бы, чтобы все хранимые процедуры, сгенерированные из модели, имели имя с префиксом "cf_". Я добавил процедуру Format="cf_{0}" в элемент проекта. Однако это не сработало. Что-то еще мне не хватает?
Ниже приведен элемент проекта:
<cf:project defaultNamespace="DemoNaming" xmlns:cf="http://www.softfluent.com/codefluent/2005/1" xmlns:cfx="http://www.softfluent.com/codefluent/modeler/2008/1" xmlns:cfps="http://www.softfluent.com/codefluent/producers.sqlserver/2005/1" xmlns:cfom="http://www.softfluent.com/codefluent/producers.model/2005/1" xmlns:cfasp="http://www.softfluent.com/codefluent/producers.aspnet/2011/1" defaultConnectionString="Database=DemoNaming;Server=.\DEV_SQL_1;Integrated Security=true" createDefaultMethodForms="true" createDefaultApplication="false" createDefaultHints="false" procedureFormat="cf_{0}">
2 ответа
Вы забыли определить соглашение об именах для использования, поэтому CodeFluent Entities использует BaseNamingConvention
, Из документации вы должны установить namingConventionTypeName
приписывать CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.Model
:
FormatNamingConvention
вытекает изBaseNamingConvention
Класс и добавляет возможности форматирования и используется в качестве базового класса для всех других соглашений о присвоении имен.
<cf:project
namingConventionTypeName="CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.Model"
procedureFormat="cf_{0}">
(...)
</cf:project>
КОД БОНУСА - Изменение соглашения об именах не удаляет старые хранимые процедуры, что, вероятно, хорошо. Следующий запрос создаст оператор удаления для каждой из старых хранимых процедур. Чтобы использовать его, запустите его в SQL Management Studio, щелкните столбец на вкладке результатов и скопируйте в буфер обмена. Затем вставьте в новое окно запроса.
SELECT 'DROP PROCEDURE [' + r1.ROUTINE_SCHEMA + '].[' + r1.ROUTINE_NAME + ']'
FROM INFORMATION_SCHEMA.ROUTINES r1
INNER JOIN INFORMATION_SCHEMA.ROUTINES r2 ON r2.ROUTINE_SCHEMA = r1.ROUTINE_SCHEMA AND r2.ROUTINE_NAME = 'cf_' + r1.ROUTINE_NAME