2017-02-27 39 views
1

我希望從模型生成的所有存儲過程的名稱前面加上「cf_」。我添加了procedureFormat =「cf_ {0}」到項目元素。但是,它沒有工作。還有什麼我失蹤?項目元素中的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

你忘了定義命名約定使用,所以CodeFluent實體使用BaseNamingConvention。 從the documentation,必須將namingConventionTypeName屬性設置爲CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.Model

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 
相關問題