2013-02-22 9 views
5

Ich weiß, dass ich die Vorlage im Ordner hinzufügen kanneine benutzerdefinierte T4-Vorlage DDL Generierung Vorlage Hinzufügen von Dropdownlist

C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework tools \ DBGEN

, um es in der DDL Generierungsvorlage Dropdownlist sichtbar zu machen, aber dann muss ich die Vorlage meine Teammitglieder verteilen, so dass sie die Vorlage in den gleichen Ordner hinzufügen können.

Ich habe gehofft, dass ich durch Hinzufügen der Vorlage auf die VS 2012-Lösung irgendwie das gleiche Ergebnis erzielen konnte und es in der gleichen Dropdownlist sichtbar machen

Kennen Sie einen Weg, um dies zu erreichen? Ich benutze VS 2012 und um die Datenbank zu generieren Ich benutze Model First Ansatz

Antwort

1

Ich spielte heute Abend mit diesem und fand es möglich, aber es ist ein bisschen ein Hack. Sie müssen Ihre edmx-Datei manuell bearbeiten und sicherstellen, dass sie versionskontrolliert ist, da Sie den Designer-Abschnitt der edmx-Datei bearbeiten müssen (automatisch generiert). Das erste ist, die t4-Vorlage in das Stammverzeichnis Ihres Projekts zu kopieren (möglicherweise muss sie sich in demselben Ordner wie die edmx befinden, nicht sicher). Fügen Sie dann die t4-Vorlage zu Ihrem Projekt hinzu. Entfernen Sie nun den benutzerdefinierten Tooleintrag (in den Eigenschaften), damit die t4-Vorlage nicht automatisch erstellt wird. schließlich die Designer-Eigenschaft hinzufügen unten in der richtigen Position in der edmx Datei (i enthalten Kontext den richtigen Platz zu finden):

<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> 
    <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> 
     <edmx:Options> 
     <DesignerInfoPropertySet> 
      <DesignerProperty Name="DDLGenerationTemplate" Value="SSDLToSQLite3.tt" /> 
+0

'Value =" SSDLToSQLite3.tt "/>' ist Projektstamm relativ. Also setze es in die Wurzel oder setze einen anderen Weg, z.B. 'Value =". \ Entities \ SSDLToSQLite3.tt "/>'. Übrigens, danke und +1 :-). –

0

Ich landete ein eigenes Template zu machen datetime2 Felder zu erzeugen. Obwohl ich die Vorlage nicht in der Dropdownliste im Eigenschaftenfenster anzeigen konnte, konnte ich die Vorlage zum selben Ordner wie meine .edmx hinzufügen, in die Lösung aufnehmen und den Dateinamen der Vorlage direkt eingeben Das Eigenschaftsfeld des Designers ersetzt den Standard. Der Wert scheint nach dem Generieren von Datenbanken und Entitäten erhalten zu bleiben. Ich musste die edmx-XML nicht direkt editieren, und meine benutzerdefinierte Vorlage wird nun direkt neben der Quelle, in der sie verwendet wird, quellgesteuert.

Verwandte Themen