2017-02-27 10 views
1

모델에서 생성 된 모든 저장 프로 시저에 "cf_"접두어가 붙은 이름을 사용하고 싶습니다. 프로 시저 요소에 procedureFormat = "cf_ {0}"을 추가했습니다. 그러나 작동하지 않았습니다. 내가 놓친 다른 것이 있습니까? CodeFluent 엔티티가 BaseNamingConvention을 사용하므로,프로 시저 요소의 procedureFormat에 아무런 영향이 없음

<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}"> 

답변

1

당신이 사용하는 이름 지정 규칙을 정의하는 것을 잊었다 :

다음은 프로젝트 요소입니다. 는 the documentation에서, 당신은 CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.ModelnamingConventionTypeName 속성을 설정해야합니다

FormatNamingConventionBaseNamingConvention 클래스에서 파생 및 포맷 기능을 추가하고 다른 모든 아웃 - 오브 - 박스 명명 규칙에 기본 클래스로 사용됩니다.

<cf:project 
    namingConventionTypeName="CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.Model" 
    procedureFormat="cf_{0}"> 
    (...) 
</cf:project> 
0

보너스 코드 - 명명 규칙을 변경하면 아마 좋은 일이 기존의 저장 프로 시저를 삭제하지 않습니다. 다음 쿼리는 각각의 이전 저장 프로 시저에 대한 drop 문을 작성합니다. 사용하려면 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