Entity Framework e l'attributo ProviderManifestToken

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

 

Print | posted @ giovedì 29 gennaio 2009 11:16

Comments have been closed on this topic.