Per una mia applicazione ho creato un EDM a partire da un DB presente su una istanza Sql Server 2005. Per testare l'applicazione, per ragioni che non mi è dato sapere, mi è stato fornito un accesso ad una istanza di Sql Server 2000. Apparentemente l'applicazione funzionava ancora, sennonché, in alcuni casi, veniva sollevata una eccezione con questo messaggio:
line 43: Incorrect syntax near '('.
Girovagando per il web ho scoperto l'esistenza di un attributo del file SSDL, il ProviderManifestToken. Impostando questo attributo a 2000 anzichè 2005, il problema non veniva più sollevato a run-time, bensì a compile-time: in pratica nel mio caso vi era un campo Varchar(max) che non è supportato da Sql Server 2000 e che probabilmente era l'origine dei miei problemi; sistemato quel campo l'applicazione ha ripreso a funzionare.
Se i dba mi avessero detto che avevano cambiato il tipo ad un campo...
Matteo Fontana