2017-02-27 4 views
1

Ich möchte alle gespeicherten Prozeduren, die aus dem Modell generiert werden, den Namen mit dem Präfix "cf_" haben. Ich habe procedureFormat = "cf_ {0}" zum Projektelement hinzugefügt. Es hat jedoch nicht funktioniert. Gibt es noch etwas, das mir fehlt?procedureFormat im Projektelement hat keine Auswirkungen

unten ist das Projektelement:

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

Antwort

1

Sie haben vergessen, die Namenskonvention zu definieren, zu verwenden, so CodeFluent Entities die BaseNamingConvention verwendet. Von the documentation, müssen Sie das namingConventionTypeName Attribut CodeFluent.Model.Naming.FormatNamingConvention, CodeFluent.Model gesetzt:

FormatNamingConvention leitet sich von der BaseNamingConvention Klasse und fügt Format-Funktionen und wird als Basisklasse für alle anderen Out-of-the-box-Namenskonventionen verwendet.

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

BONUS CODE - die Namenskonvention ändern löscht nicht die alten gespeicherten Prozeduren, die wahrscheinlich eine gute Sache ist. Die folgende Abfrage erstellt eine Drop-Anweisung für jede der alten gespeicherten Prozeduren. Um es zu verwenden, führen Sie es in SQL Management Studio aus, klicken Sie auf die Spalte auf der Ergebnisregisterkarte und kopieren Sie es in die Zwischenablage. Fügen Sie dann ein neues Abfragefenster ein.

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 
Verwandte Themen