Questo errore si verifica quando un cambiamento che hai fatto alla proprietà di un'entità (nella finestra di progettazione tabella) causerebbe tabella dell'entità nel database pubblicato per essere caduto & ricreato, e la tabella contiene dati in esso. Questo è il modo in cui funziona SQL Server, non è sotto il controllo di LightSwitch. Tuttavia, LightSwitch aggira il lato della cautela, & non consente un'operazione che potrebbe causare la potenziale perdita di qualsiasi dato.
I tipi di cose che potrebbero innescare questo sono:
- rinominare una proprietà
- trasformandolo da necessaria-non necessaria ecc
- cambiamento di una proprietà tipo di dati
- & anche (se ricordo cor rettamente) cambiando la posizione di di una proprietà nella lista delle proprietà
È tuttavia possibile aggiungere un alloggio ai fine della lista delle proprietà, senza attivare la tabella di essere caduto & ricreato.
Non è davvero una buona idea apportare troppe modifiche prima di tentare di pubblicare l'applicazione, esattamente per il motivo che suggerisci - finendo per non sapere cosa hai fatto. In particolare, si desidera pubblicare dopo aver apportato modifiche alle proprietà di un'entità. Anche se si pubblica su un'istanza locale di SQL Server (incluso SQL Express) sul computer di sviluppo, per "testare" le modifiche prima di pubblicare sul server di produzione.
Il modo in cui mi sono aggrappato a questo (quando usavo ancora usare i dati intrinseci di LS, ApplicationData - ora utilizzo fonti dati allegate) è di apportare manualmente la modifica alla colonna nel database stesso, usando qualcosa come SSMS (SQL Server Management Studio). È quindi possibile decidere di consentire la (potenziale) perdita di dati. Sii molto attento però a cosa cambia, & assicurati che sia lo stesso come la modifica apportata alla proprietà in LightSwitch. Naturalmente eseguire il backup del database prima di apportare qualsiasi modifica ad esso. Se si causa la sincronizzazione del database con LightSwitch, si avranno problemi importanti.
fonte
2013-02-09 15:55:15
Ciao Yann, Quindi stai dicendo che non c'è modo di rintracciare la fonte dell'errore alla proprietà che lo sta causando? – Mark
Non che io sappia, no. Ecco perché dico di pubblicare sempre subito dopo aver apportato modifiche a una proprietà. Se i tuoi dati non contano, puoi cancellare il database, e verrà ricreato quando pubblichi la prossima volta. Se i dati sono importanti, potrebbe essere necessario controllare manualmente le tabelle LightSwitch rispetto alle tabelle nel database. –
Ciao Yann, i dati sono importanti. Non è probabile che riuscirò a trovare il problema controllando le tabelle Lightswitch rispetto al database. Tuttavia, posso ripristinare il database dal backup prima delle modifiche che sono così offensive. Posso farlo ed eliminare le nuove tabelle in Lightswitch che SQL ha trovato così offensivo? – Mark