Udostępnij za pośrednictwem


LINQ to DataSet — omówienie

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 prezentacji DataSet jest ściśle zintegrowany z kontrolkami GUI do powiązania danych. W przypadku warstwy środkowej zapewnia pamięć podręczną, która zachowuje relacyjny kształt danych, oraz szybką i prostą obsługę zapytań i nawigacji w 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 być używana do filtrowania i sortowania, a metody GetChildRows i GetParentRow mogą być używane do nawigacji w 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 wykonywania zapytań względem obiektu DataSet przy użyciu LINQ to DataSet, należy wypełnić obiekt 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 Language-Integrated (LINQ) względem innych źródeł danych z obsługą linQ. Zapytania LINQ można wykonywać względem pojedynczych tabel przy użyciu DataSet, lub względem więcej niż jednej tabeli przy użyciu standardowych operatorów zapytań Join 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 typowanych DataSet, tabelach i wierszach każda z kolumn ma wpisane członki, co sprawia, że zapytania są prostsze i bardziej czytelne.

Oprócz standardowych operatorów zapytań zaimplementowanych w System.Core.dlllinQ 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. Rozdzielenie składników aplikacji na oddzielne warstwy zwiększa łatwość konserwacji i 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 także