Udostępnij za pośrednictwem


Architektura ADO.NET

Przetwarzanie danych tradycyjnie polegało głównie na modelu dwuwarstwowym opartym na połączeniu. Ponieważ przetwarzanie danych coraz częściej korzysta z architektur wielowarstwowych, programiści przechodzą na rozłączone podejście w celu zapewnienia lepszej skalowalności dla swoich aplikacji.

składniki ADO.NET

Dwa główne składniki ADO.NET na potrzeby uzyskiwania dostępu do danych i manipulowania nimi to dostawcy danych programu .NET Framework i DataSet.

Dostawcy danych .NET Framework

Dostawca danych programu .NET Framework to składniki, które zostały jawnie zaprojektowane do manipulowania danymi i szybkiego, tylko do przodu i dostępu tylko do odczytu do danych. Obiekt Connection zapewnia łączność ze źródłem danych. Obiekt Command umożliwia dostęp do poleceń bazy danych w celu zwracania danych, modyfikowania danych, uruchamiania procedur składowanych oraz wysyłania lub pobierania informacji o parametrach. Element DataReader zapewnia strumień danych o wysokiej wydajności ze źródła danych. Na koniec element DataAdapter zapewnia most między obiektem DataSet a źródłem danych. Obiekt DataAdapter używa Command obiektów do wykonywania poleceń SQL w źródle danych, aby załadować DataSet element z danymi i uzgodnić zmiany wprowadzone w danych z DataSet powrotem do źródła danych. Aby uzyskać więcej informacji, zobacz .NET Framework Dostawca danych s and Retrieving and Modifying Data in ADO.NET (Pobieranie i modyfikowanie danych w programie .NET Framework).

Zestaw danych

ADO.NET DataSet jest jawnie zaprojektowana pod kątem dostępu do danych niezależnie od dowolnego źródła danych. W związku z tym może być używany z wieloma i różnymi źródłami danych, używanymi z danymi XML lub używany do zarządzania danymi lokalnymi w aplikacji. Zawiera DataSet kolekcję co najmniej jednego DataTable obiektu składającego się z wierszy i kolumn danych, a także klucza podstawowego, klucza obcego, ograniczenia i informacji relacyjnych dotyczących danych w DataTable obiektach. Aby uzyskać więcej informacji, zobacz DataSets, DataTables i DataViews.

Na poniższym diagramie przedstawiono relację między dostawcą danych programu .NET Framework i .DataSet

ADO.Net graphic
architektura ADO.NET

Wybieranie elementu DataReader lub zestawu danych

Jeśli zdecydujesz, czy aplikacja powinna używać elementu DataReader (zobacz Pobieranie danych przy użyciu elementu DataReader) lub ( DataSet zobacz Zestawy danych, Tabele danych i Widoky danych), rozważ typ funkcji, których wymaga aplikacja. Użyj elementu , DataSet aby wykonać następujące czynności:

  • Buforuj dane lokalnie w aplikacji, aby można było nimi manipulować. Jeśli musisz tylko odczytać wyniki zapytania, DataReader jest to lepszy wybór.

  • Zdalne dane między warstwami lub z usługi sieci Web XML.

  • Dynamiczne interakcje z danymi, takie jak wiązanie z kontrolką Windows Forms lub łączenie i powiązanie danych z wielu źródeł.

  • Wykonywanie obszernego przetwarzania danych bez konieczności otwartego połączenia ze źródłem danych, co zwalnia połączenie, które ma być używane przez innych klientów.

Jeśli nie potrzebujesz funkcji udostępnianych przez DataSetprogram , możesz zwiększyć wydajność aplikacji przy użyciu polecenia , aby DataReader zwrócić dane w sposób tylko do przekazywania, tylko do odczytu. DataAdapter Mimo że metoda używa DataReader elementu do wypełniania zawartości DataSet obiektu (zobacz Wypełnianie zestawu danych z elementu DataAdapter), używając DataReaderelementu , możesz zwiększyć wydajność, ponieważ zapiszesz pamięć, która będzie używana przez DataSetelement , i unikaj przetwarzania wymaganego do utworzenia i wypełnienia zawartości obiektu DataSet.

LINQ to DataSet

LinQ to DataSet zapewnia możliwości zapytań i sprawdzanie typu czasu kompilowania danych w pamięci podręcznej w obiekcie DataSet. Umożliwia pisanie zapytań w jednym z języków programowania .NET Framework, takich jak C# lub Visual Basic. Aby uzyskać więcej informacji, zobacz LINQ to DataSet.

LINQ to SQL

LINQ to SQL obsługuje zapytania względem modelu obiektów mapowanego na struktury danych relacyjnej bazy danych bez użycia pośredniego modelu koncepcyjnego. Każda tabela jest reprezentowana przez oddzielną klasę, ściśle łącząc model obiektów ze schematem relacyjnej bazy danych. LINQ to SQL tłumaczy zapytania zintegrowane z językiem w modelu obiektów na język Transact-SQL i wysyła je do bazy danych w celu wykonania. Gdy baza danych zwraca wyniki, linQ to SQL tłumaczy wyniki z powrotem na obiekty. Aby uzyskać więcej informacji, zobacz LINQ to SQL.

Program Entity Framework na platformie ADO.NET

ADO.NET Entity Framework został zaprojektowany tak, aby umożliwić deweloperom tworzenie aplikacji dostępu do danych przez programowanie względem koncepcyjnego modelu aplikacji zamiast programowania bezpośrednio względem schematu magazynu relacyjnego. Celem jest zmniejszenie ilości kodu i konserwacji wymaganej dla aplikacji zorientowanych na dane. Aby uzyskać więcej informacji, zobacz ADO.NET Entity Framework.

Usługi danych WCF

Usługi danych programu WCF służy do wdrażania usług danych w sieci Web lub intranecie. Dane są ustrukturyzowane jako jednostki i relacje zgodnie ze specyfikacjami modelu danych jednostki. Dane wdrożone w tym modelu są adresowane przy użyciu standardowego protokołu HTTP. Aby uzyskać więcej informacji, zobacz Usługi danych programu WCF 4.5.

XML i ADO.NET

ADO.NET wykorzystuje możliwości xml w celu zapewnienia rozłączonego dostępu do danych. ADO.NET został zaprojektowany ręcznie z klasami XML w programie .NET Framework; oba są składnikami pojedynczej architektury.

ADO.NET i klasy XML w programie .NET Framework zbieżne w DataSet obiekcie. Element DataSet można wypełnić danymi ze źródła XML, niezależnie od tego, czy jest to plik, czy strumień XML. Plik DataSet można zapisać jako kod XML zgodny ze standardem W3C (World-Wide Web Consortium), który zawiera jego schemat jako schemat języka definicji schematu XML (XSD), niezależnie od źródła danych w pliku DataSet. Ze względu na natywny format DataSet serializacji to XML, jest to doskonały nośnik do przenoszenia danych między warstwami, dzięki czemu DataSet optymalny wybór komunikacji wirtualnej danych i kontekstu schematu do i z usługi sieci Web XML. Aby uzyskać więcej informacji, zobacz Dokumenty XML i dane.

Zobacz też