2012-01-20 15 views
9

Sto utilizzando il framework di entità per chiamare le mie stored procedure. Sto passando attraverso il processo utilizzando la funzione di importazione guidata per creare importazioni di funzioni e tipi complessi.Come aggiornare automaticamente Entity Framework Function Imports

Il problema che sto avendo è che vorrei trovare un modo per aggiornare facilmente tutti i miei tipi complessi.

Quando non vengono memorizzati cambiamento procedura di oggi, il mio processo è quello di:

1.) Aggiornare stored procedure utilizzando la procedura guidata di aggiornamento EF.

2.) Andare a ciascuna funzione di importazione nel browser del modello e fare clic su Modifica.

3.) Fare clic sul pulsante per aggiornare il tipo complesso.

4.) Ripetere manualmente questo processo per tutte le importazioni di oltre 100 delle funzioni.

Questo processo di aggiornamento è molto ben spiegata qui: http://blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure-return-type-shape-sensing.aspx

Qualcuno sa come questo può essere automatizzato o tramite una linea di comando o attraverso una sorta di macro. Non ho bisogno che questo faccia parte di un processo di costruzione.

+0

Ho confermato che tutto ciò che devo veramente fare è aggiornare il modello. Questo si occuperà delle importazioni delle funzioni. Per aggiornare i tipi complessi, tutto ciò che devo fare è fare clic sul pulsante di aggiornamento accanto al tipo complesso nella schermata Modifica funzione di importazione. Nel mio caso ho bisogno di farlo circa 100 volte. – DTig

risposta

2

Controlla lo strumento da riga di comando di EdmGen fornito con Entity Framework. Scopri quali switch da riga di comando hai bisogno per generare un EDMX che contenga le tue importazioni di funzioni (e molto probabilmente molte altre cose).

Quindi scrivere un piccolo programma da riga di comando che utilizza XDocument e LINQ in XML per leggere gli elementi XML che si desidera escono dall'EDMX generato e quindi utilizza la stessa tecnica per sovrascrivere quelli del proprio EDMX reale.

Se si desidera che questo processo faccia parte della build (rallenterà comunque) aggiungere questi due comandi alle impostazioni della riga di comando dell'evento di pre-build del progetto nelle proprietà del progetto.

Altri sviluppatori e il server di generazione avrebbero anche bisogno di una versione compilata del vostro nuovo comando di fusione archiviato da qualche parte per chiamare.

Problemi correlati