2011-08-29 5 views
6

Mam backend SQL 2000. SQL 2000 nie obsługuje Entity Framework v2. Chciałbym użyć LINQ do manipulowania kolekcjami w pamięci.Czy są jakieś elementy LINQ, których powinienem unikać w SQL 2000?

Zakładając, że nie używam Entity Framework v2, czy są jakieś elementy LINQ w .NET 4, które nie działają z SQL 2000? Czy korzystanie z TableAdapters doing CRUD jest w porządku?

O ile mi wiadomo, użycie architektury Entity wymaga jawnego dodania pliku * .edmx. Dodanie *.dmbl (linq to sql) or DataSet (*.xsd) nie jest problemem. Czy to jest poprawne? Innymi słowy, dowolne funkcje LINQ generują niekompatybilny kod, np. podmioty?

Odpowiedz

4

Istnieją pewne ograniczenia wykorzystujące Skip i Take w linq2sql z SQL 2000.

MSDN:

podczas korzystania Take lub Przejdź na SQL Server 2000, należy użyć elementów tożsamości (IsPrimaryKey) Baza danych. Kwerenda musi być skierowana przeciwko pojedynczej tabeli (to znaczy nie może się łączyć) lub być operacją o wyraźnym, wyjątkowym, przecinającym się lub związanym działaniu i nie może obejmować operacji Concat. Aby uzyskać więcej informacji, zobacz sekcję "Obsługa SQL Server 2000 w tłumaczeniu operatora zapytania standardowego (LINQ do SQL).

Wymóg ten nie ma zastosowania do SQL Server 2005.

na trochę więcej informacji na temat nieobsługiwanych funkcji, patrz sekcja "SQL Server 2000 Support" na http://msdn.microsoft.com/en-us/library/bb399342.aspx