Omówienie LINQ to DataSet

Jest DataSet to jeden z bardziej powszechnie używanych składników ADO.NET. Jest to kluczowy element odłączonego modelu programowania, na którym opiera się ADO.NET, i umożliwia jawne buforowanie danych z różnych źródeł danych. W przypadku warstwy DataSet prezentacji element jest ściśle zintegrowany z kontrolkami graficznego interfejsu użytkownika na potrzeby powiązania danych. W przypadku warstwy środkowej zapewnia pamięć podręczną, która zachowuje relacyjny kształt danych i obejmuje szybkie proste usługi nawigacji zapytań i hierarchii. Typową techniką używaną do obniżenia liczby żądań w bazie danych jest użycie DataSet elementu do buforowania w warstwie środkowej. Rozważmy na przykład aplikację internetową opartą na danych ASP.NET. Często znaczna część danych aplikacji nie zmienia się często i jest powszechna między sesjami lub użytkownikami. Te dane mogą być przechowywane w pamięci na serwerze sieci Web, co zmniejsza liczbę żądań względem bazy danych i przyspiesza interakcje użytkownika. Innym przydatnym aspektem DataSet jest to, że umożliwia aplikacji przenoszenie podzbiorów danych z co najmniej jednego źródła danych do przestrzeni aplikacji. Aplikacja może następnie manipulować danymi w pamięci, zachowując jej kształt relacyjny.

Pomimo jego znaczenia funkcja DataSet ma ograniczone możliwości zapytań. Metoda Select może służyć do filtrowania i sortowania, a GetChildRows metody i GetParentRow mogą służyć do nawigacji hierarchii. W przypadku bardziej złożonych czynności deweloper musi jednak napisać zapytanie niestandardowe. Może to spowodować, że aplikacje działają słabo i są trudne do utrzymania.

LinQ to DataSet ułatwia i szybsze wykonywanie zapytań o dane buforowane w DataSet obiekcie. Te zapytania są wyrażane w samym języku programowania, a nie jako literały ciągu osadzone w kodzie aplikacji. Oznacza to, że deweloperzy nie muszą uczyć się oddzielnego języka zapytań. Ponadto linQ to DataSet umożliwia deweloperom programu Visual Studio wydajniejsze działanie, ponieważ środowisko IDE programu Visual Studio zapewnia sprawdzanie składni czasu kompilacji, statyczne wpisywanie i obsługę funkcji IntelliSense dla linQ. LinQ to DataSet może również służyć do wykonywania zapytań dotyczących danych, które zostały skonsolidowane z co najmniej jednego źródła danych. Umożliwia to wiele scenariuszy, które wymagają elastyczności w sposobie przedstawiania i obsługi danych. W szczególności ogólne aplikacje do raportowania, analizy i analizy biznesowej wymagają tej metody manipulowania.

Wykonywanie zapytań dotyczących zestawów danych przy użyciu linQ to DataSet

Przed rozpoczęciem DataSet wykonywania zapytań względem obiektu przy użyciu linQ to DataSet należy wypełnić element DataSet. Istnieje kilka sposobów ładowania danych do DataSetklasy , na przykład przy użyciu DataAdapter klasy lub LINQ to SQL. Po załadowaniu DataSet danych do obiektu można rozpocząć wykonywanie względem niego zapytań. Formułowanie zapytań przy użyciu linQ to DataSet jest podobne do używania zapytania zintegrowanego z językiem (LINQ) względem innych źródeł danych z obsługą linQ. Zapytania LINQ można wykonywać względem pojedynczych tabel w tabeli DataSet lub względem więcej niż jednej tabeli przy użyciu Join standardowych operatorów zapytań i GroupJoin .

Zapytania LINQ są obsługiwane zarówno dla typowanych, jak i nietypowych DataSet obiektów. Jeśli schemat obiektu DataSet jest znany w czasie projektowania aplikacji, zalecane jest wpisane DataSet . W typie DataSettabel i wierszy zostały wpisane elementy członkowskie dla każdej kolumny, co sprawia, że zapytania są prostsze i bardziej czytelne.

Oprócz standardowych operatorów zapytań zaimplementowanych w System.Core.dll linQ to DataSet dodaje kilka DataSetrozszerzeń specyficznych dla środowiska, które ułatwiają wykonywanie zapytań względem zestawu DataRow obiektów. Te DataSet-specyficzne rozszerzenia obejmują operatory do porównywania sekwencji wierszy, a także metody, które zapewniają dostęp do wartości kolumny DataRow.

Aplikacje N-warstwowe i LINQ to DataSet

Aplikacje danych n-warstwowych to aplikacje skoncentrowane na danych, które są oddzielone wieloma warstwami logicznymi (lub warstwami). Typowa aplikacja N-warstwowa obejmuje warstwę prezentacji, warstwę środkową i warstwę danych. Rozdzielanie składników aplikacji w oddzielne warstwy ułatwia konserwację i zwiększa skalowalność aplikacji. Aby uzyskać więcej informacji na temat aplikacji danych N-warstwowych, zobacz Praca z zestawami danych w aplikacjach n-warstwowych.

W aplikacjach DataSet N-warstwowych funkcja jest często używana w warstwie środkowej do buforowania informacji dla aplikacji internetowej. Funkcja zapytań LINQ to DataSet jest implementowana za pomocą metod rozszerzeń i rozszerza istniejącą ADO.NET 2.0 DataSet.

Zobacz też