Sviluppando dei modelli personalizzati per i Business Connectivity Services di SharePoint 2010 tramite Visual Studio 2010, potete incappare in un errore in fase di deployment. Il mio errore era dato dal fatto che prima avevo caricato un modello con un identificatore di tipo System.String, poi ho tentato di cambiarlo in System.Int32 (non mi sembra l'operazione più strana o difficile del mondo, ma vabbè..) e, così facendo, non riuscivo più ad effettuare il deployment della mia soluzione all'interno della Central Administration di SharePoint.
Nel dettaglio, la dicitura dell'errore era:
TypeDescriptor with Name 'Identifier1' (found in Parameter with Name 'returnParameter', Method with Name 'ReadList', Entity (External Content Type) with Name 'Entity1' and Version '1.0.0.20' in Namespace 'PeppeDotNet.TestModel') refers to an Identifier with Name 'Identifier1' of Type 'System.Int32' which is supposed to exist on Entity with Name 'Entity1' in Namespace 'PeppeDotNet.TestModel'. This Identifier cannot be found.
Praticamente il sistema di deployment si accorge che è stato cambiato l'identificatore, confrontando la vecchia versione del modello deployato, e s'incazza !
Per risolvere questo problema pensavo bastasse un retract della soluzione per poi andare su
Central Administration > Application Management > Manage Service Applications > Business Data Connectivity Services
e cancellare il modello su cui stavo lavorando.
Invece NO !
E' necessario cancellare tutte le occorrenze del modello in questione anche dalle pagine "External systems" e "External content types" alle quali potete accedere dal menu a tendina che trovate in alto nella pagina dell'elenco dei modelli BCS installati.
Così facendo, siete liberi di rieffettuare un deployment della vostra soluzione che verrà installata senza alcun errore.
Spero possa esser utilie a qualcuno.