2009-11-10 15 views
6

Czy istnieje zgodność wsteczna w strukturze encji między SQL Server 2008 i 2005?Kompatybilność wsteczna programu SQL Server w Entity Framework?

Wygląda na to, że framework wymusza korzystanie z tego samego dostawcy dla wszystkich plików .edmx w rozwiązaniu.

Jeśli korzystasz z dostawcy 2008, typy danych, takie jak DateTime2 i funkcje takie jak SysDateTime, które są emitowane przez framework do bazowego zapytania SQL, sprawiają, że używanie ich przeciwko serwerowi SQL 2005 jest bezużyteczne.

Jakikolwiek sposób obejścia tego?

Odpowiedz

3

Czy ustawiłeś ProviderManifestToken w EDMX na 2005? Jeśli zamierzasz wspierać 2005, powinieneś. Jeśli zaprojektujesz EDMX za pomocą serwera 2008, projektant GUI zoptymalizuje model na rok 2008, w tym typy danych i składnię zapytań. Jeśli zaprojektujesz EDMX na serwerze z 2005 roku, użyte zostaną tylko typy zgodne z 2005, a ProviderManifestToken będzie ustawiony na 2005.

+0

Zgadzam się. Ale w mojej sytuacji musimy obsługiwać zarówno serwer sql 2005 jak i 2008. Aby zachować osobne kompilacje dla każdego z nich wydaje się zbyt wiele, gdybym był w stanie obsługiwać obie bazy danych bez żadnych problemów, gdyby zamiast tego napisałem własną warstwę danych wykorzystania struktury podmiotu. Powinna istnieć konfigurowalna właściwość, która powinna zapewniać zgodność z funkcją śledzenia. – shake

+1

** Nie musisz wykonywać dwóch kompilacji. ** Istnieje już taka właściwość. Dałem ci nawet link do tego w mojej odpowiedzi. Ustaw go na 2005 rok, a Twoja aplikacja będzie działać zarówno w 2005, jak i 2008 roku. –

+0

Tak, prawdopodobnie masz rację. Myślę, że mój błąd, ponieważ próbowałem zaktualizować model przy użyciu serwera sql 2008 z ProviderManifestToken ustawiony na 2005. Tylko kwerendy nie powinny dać mi żadnego żalu. Dzięki – shake

Powiązane problemy