2009-11-10 11 views
6

Esiste una compatibilità con le versioni precedenti nel framework entità tra SQL Server 2008 e 2005?Compatibilità con le versioni precedenti di SQL Server in Entity Framework?

Sembra che il framework imponga di utilizzare lo stesso provider per tutti i file .edmx in una soluzione.

Se si utilizza il provider 2008, tipi di dati come DateTime2 e funzioni come SysDateTime emessi dal framework per la query SQL sottostante rendono inutile l'utilizzo su un server SQL 2005.

Un modo per aggirare questo?

risposta

3

Avete impostato il ProviderManifestToken nell'EDMX al 2005? Se intendi sostenere il 2005, dovresti. Se si progetta il proprio EDMX utilizzando un server 2008, il progettista della GUI ottimizzerà il modello per il 2008, inclusi i tipi di dati e la sintassi della query. Se si progetta il proprio EDMX rispetto a un server 2005, verranno utilizzati solo i tipi compatibili con 2005 e il ProviderManifestToken sarà impostato su 2005.

+0

Sono d'accordo. Ma nella mia situazione, abbiamo bisogno di supportare sia sql server 2005 che 2008. Per mantenere le build separate per ognuna di esse sembra troppo quando sarei stato in grado di supportare entrambi i database senza problemi se avessi scritto il mio livello dati invece di usare la struttura dell'entità. Dovrebbe esserci una proprietà configurabile che dovrebbe consentire la compatibilty del backword. – shake

+1

** Non devi fare due build. ** Esiste già una proprietà di questo tipo. Ti ho anche fornito un link nella mia risposta. Impostalo su 2005 e la tua app funzionerà sia con il 2005 che con il 2008. –

+0

Sì, probabilmente hai ragione. Penso di aver ricevuto il mio errore perché stavo cercando di aggiornare il modello utilizzando SQL Server 2008 con ProviderManifestToken impostato sul 2005. Solo l'esecuzione di query non dovrebbe darmi alcun problema. Grazie – shake

Problemi correlati