2013-02-22 9 views
5

so di poter aggiungere il modello nella cartellaAggiunta di un modello T4 personalizzato a Template DDL generazione DropDownList

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

per renderlo visibile nel DropDownList template DDL generazione, ma poi ho bisogno di distribuire il modello da membri del mio team in modo da poter aggiungere il modello nella stessa cartella.

speravo che avrei potuto ottenere lo stesso risultato con l'aggiunta del modello per la soluzione di VS 2012 in qualche modo e renderlo visibile nella stessa DropDownList

Sapete un modo per raggiungere questo obiettivo? Sto usando VS 2012 e per generare il database utilizzo l'approccio Model First

risposta

1

Ho giocato con questo stasera e ho scoperto che è possibile, ma è una specie di trucco. Dovrai modificare a mano il tuo file edmx e assicurarti che sia controllato in versione perché devi modificare la sezione designer del file edmx (generato automaticamente). La prima cosa è copiare il template t4 nella root del tuo progetto (potrebbe effettivamente essere nella stessa cartella di edmx, non è sicuro). Quindi aggiungi il modello t4 al tuo progetto. Ora rimuovi la voce dello strumento personalizzato (nelle proprietà) in modo che non provi e generi automaticamente il modello t4. infine aggiungere la proprietà progettista di seguito nella posizione corretta nel file edmx (ho incluso contesto per trovare il posto giusto):

<!-- 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

'Valore =" SSDLToSQLite3.tt "/>' è relativo alla radice del progetto. Quindi, mettilo nella radice o imposta un percorso diverso, ad es. 'Valore =". \ Entities \ SSDLToSQLite3.tt "/>'. Btw, grazie e +1 :-). –

0

ho finito per fare un modello personalizzato per generare datetime2 campi. Sebbene non sia stato possibile visualizzare il modello nel menu a discesa nella finestra delle proprietà, sono stato in grado di aggiungere il modello alla stessa cartella del mio .edmx, includerlo nella soluzione, quindi digitare il nome del file direttamente nel modello il campo delle proprietà del designer che sostituisce il valore predefinito. Il valore sembra essere mantenuto dopo la generazione di database ed entità, non ho avuto bisogno di modificare direttamente il file XML edmx e il mio modello personalizzato ora è controllato dal codice sorgente proprio accanto a dove viene utilizzato.

Problemi correlati