background img

Bài Viết Mới

ADO.NET Cơ Bản - Phần 1


Phần 1: GIỚI THIỆU


Trong phần đầu này chúng ta sẽ cùng nhau đi tìm hiểu công nghệ ADO.NET của Microsoft. Nội dung thì bao la nên chúng ta sẽ chỉ tìm hiểu sơ lược để cho bạn có thể nắm rõ chức năng cũng như cách thức sử dụng vào thực tế.


1.1. ADO.NET Là Gì ?


ActiveX Data Object.NET (ADO.NET) là một thư viện phần mềm .NET Framework. Bao gồm các thành phần phần mềm cung cấp dịch vụ truy cập dữ liệu. ADO.NET được thiết kế để cho phép các nhà phát triển viết mã được quản lý cho việc tiếp cận các nguồn dữ liệu bị ngắt kết nối, có thể có quan hệ hoặc không quan hệ (như XML hoặc dữ liệu ứng dụng). Tính năng này của ADO.NET giúp ứng dụng có thể chia sẻ dữ liệu hay các ứng dụng phân tán.



ADO.NET cung cấp kết nối truy cập với CSDL bằng cách sử .NET Managed Provinder ( mặc định .Net Framework có hai Managed Providers là SQL Managed Provider and OleDB Managed Provider) và truy cập bị ngắt kết nối bằng cách sử dụng Datasets, đó là các ứng dụng sử dụng kết nối cơ sở dữ liệu chỉ trong thời gian truy xuất dữ liệu hoặc cập nhật dữ liệu. Datasets là thành phần giúp đỡ để lưu trữ các dữ liệu liên tục trong bộ nhớ để cung cấp truy cập khi bị ngắt kết nối để sử dụng các nguồn tài nguyên cơ sở dữ liệu một cách hiệu quả và khả năng mở rộng tốt hơn.


ADO.NET được phát triển từ ADO, cũng là một công nghệ tương tự như ADO.NET với một vài thay đổi cấu trúc cơ bản. Mặc dù có một vài trường hợp để làm việc trong chế độ bị ngắt kết nối bằng cách sử dụng ADO, nhưng dữ liệu được chuyển đến CSDL trong ADO.NET hiệu quả hơn bằng cách sử dụng Data Adapters. Các đại diện trong bộ nhớ của dữ liệu giữa ADO và ADO.NET là khác nhau. ADO.NET có thể giữ các dữ liệu trong một bảng kết quả duy nhất, nhưng ADO giữ nhiều bảng cùng với các chi tiết của mối quan hệ. Không giống như ADO, việc truyền dữ liệu giữa các ứng dụng bằng cách sử dụng ADO.NET không sử dụng COM (Component Object Model) để sắp xếp mà dùng datasets, nó truyền dữ liệu như là một dòng XML.


Kiến trúc ADO.NET dựa trên hai yếu tố chính là : Dataset và .NET Framework data provider

 ADO.NET architecture



Data provides gồm các thành phần sau :

 Datasets

- Một tập hợp đầy đủ của CSDL bao gồm các table có liên quan , các ràng buộc và mối quan hệ của chúng

- Chức năng giống như truy cập dữ liệu từ xa từ dịch vụ Web XML

- Thao tác với dữ liệu động

- Xử lý dữ liệu theo kiểu không kết nối

- Cung cấp cho xem thứ bậc XML của dữ liệu quan hệ

 - Xử dụng các công cụ XSLT và XPath Query để hoạt động trên dữ liệu


.NET Framework Data Provider bao gồm các thành phần sau đây để thao tác dữ liệu :

- Connection: Cung cấp kết nối với nguồn dữ liệu (database). Hay nói cách khác nó là đối tượng có nhiệm vụ thực hiện kết nối tới CSDL

- Command: Thực hiện các thao tác cần thiết với CSDL để lấy dữ liệu, sửa đổi dữ liệu hoặc thực hiện các thủ tục được lưu trữ. Hiểu đơn giản là nó đưa ra các mệnh lệnh đối với CSDL

- DataReader: Cung cấp việc đọc dữ liệu và chỉ đọc 1 dòng dữ liệu tại một thời điểm và nó đọc theo chiều tiến từ đầu đến cuối.

 - DataApdater: Nó đóng vài trò như là cầu nối giữa Dataset và CSDL, tải dữ liệu lên dataset hoặc đồng bộ các thay đổi ở dataset về lại CSDL

- Datasets: Để lưu trữ, truy cập từ xa và lập trình với dữ liệu phẳng (Flat), dữ liệu XML và dữ liệu quan hệ

1.2. Hiểu Đơn Giản Về ADO.NET


Là công nghệ truy cập dữ liệu cốt lõi cho các ngôn ngữ nhắm vào mức CLR (Common Language Runtime). Sử dụng không gian tên System.Data.SqlClient để truy cập vào SQL Server, hoặc các Providers từ các nhà cung cấp khác để truy cập các dữ liệu của họ. Sử dụng System.Data.ODBC hoặc System.Data.OleDb truy cập dữ liệu từ ngôn ngữ .NET sử dụng công nghệ truy cập dữ liệu khác. Sử dụng System.Data.Dataset khi bạn cần một bộ nhớ cache dữ liệu ẩn trong các ứng dụng của khách hàng (client). 

ADO.NET là một phần của NET Framework. Để tạo ra các ứng dụng mà sử dụng NET Framework.

ADO.NET được xây dựng để hỗ trợ cho cơ sở dữ liệu bao gồm MS SQL Server databases cùng với OLEDB và các nguồn dữ liệu ODBC. Tối ưu hóa đáp ứng cho các nhà cung cấp bên thứ ba.



- ADO.NET cho phép:


  • Thao tác với CSDL trong cả hai môi trường là Connected data & Disconnected data.

  • Làm việc tốt với XML

  • Tương tác được với nhiều nguồn dữ liệu

  • Làm việc trên môi trường internet


- Các class của nó được đặt trong namespace: System.Data
- Hai bộ thư viện chính của nó là:


  • System.Data.OleDb: Dùng để truy xuất bất kỳ CSDL nào hỗ trợ OLEDB

  • System.Data.Odbc: Dùng truy xuất các nguồn dữ liệu ODBC

  • System.Data.Sqlclient: Dùng để truy xuất đến CSDL SQL Server mà không cần thông qua OLEDB


- ADO.NET là thành phần của .NET nên nó có thể sử dụng hầu như tất cả các ngôn ngữ mà .NET hỗ trợ như: C#, VB.NET, C++ . . . 

 

ADO.NET

- Đặc biệt khi sử dụng ADO.NET bạn có hai lựa chọn:



  • Làm việc với môi trường cần kết nối data. Ứng dụng client kết nối tới CSDL và thao tác trên CSDL này nằm ở Server. Không có kết nối thì không truy xuất được dữ liệu

  • Làm việc với môi trường không kết nối. Có nghĩa là chúng ta sẽ dùng dataset để mô tả lại các table tương đương với CSDL. Dữ liệu sẽ được lấy từ CSDL lên Dataset và lưu dưới dạng XML. Khi trong điều kiện ko có kết nối tới CSDL, mọi thao tác dữ liệu sẽ được lưu lên Dataset và sau đó có thể đồng bộ với CSDL. Giống như là một bộ nhớ tạm thời nằm tại phía client. Khi có kết nối sẽ lựa chọn đồng bộ với Server




 

Nhìn tổng thể kiến trúc ADO.Net gồm hai phần:

- Phần kết nối: Thực hiện kết nối với CSDL và thực hiện các thao tác. Sử dụng Connetion, Command, DataReader, DataAdapter.

- Phần ngắt kết nối: Lấy dữ liệu thông qua DataAdapter vào Dataset để xử lý. Bạn có thể hình dung Dataset là một CSDL nằm trong ứng dụng phía client

Kien Truc Tong Quan


1.3. Bây Giờ Có Nên Dùng ADO.NET ?


EntityFramework là công nghệ mới hơn so với ADO.NET và phiên bản hiện tại là EF6 (Thường gọi Entity Framework) và thường được dùng cho doanh nghiệp. Microsoft khuyến khích bạn nên sử dụng EF hơn là ADO.NET hay LINQ To SQL.

Các công nghệ như ADO.NET, Linq To Sql , Entity Framewok ... chia làm 2 giải pháp, một sử dụng các thủ tục trên SQL , một sử dụng công nghệ ORM. Xét về tính thực tiễn các thủ tục Stored Procedure đem lại tốc độ truy vấn nhanh hơn với nhiều quyền điều khiển SQL. Nhưng tốc độ phát triển, tính dễ bảo trì, code sạch thì EF đem lại hiệu quả trông thấy. Vì nó là công nghệ mới hơn rất nhiều và nhận được nhiều đầu tư so với các công nghệ cũ. Để đem lại hiệu quả cao cho dự án, đôi khi bạn vẫn có thể sử dụng nhiều công nghệ trong dự án của mình. Đối với truy vấn thì sử dụng Stored Procedure, ngược lại lớp thực hiện Create, Read, Update, Delete ta có thể sử dụng EF. Hiện tại EF đã lên tới phiên bản 6 các tính năng ngày một tốt hơn rất nhiều lần. Nói cho cùng, nếu bạn là người mới hoặc sinh viên thì chúng ta tìm hiểu qua chúng để hiểu rõ hơn :)





Tham khảo:

[1] MSDN

[2] Teachopedia

[3] Indiabix

[4] The C# Station




 
Nguồn: Tự Học IT Online - http://tuhocit.net

1 nhận xét: Leave Your Comments

  1. Ado.Net Cơ Bản - Phần 1 >>>>> Download Now

    >>>>> Download Full

    Ado.Net Cơ Bản - Phần 1 >>>>> Download LINK

    >>>>> Download Now

    Ado.Net Cơ Bản - Phần 1 >>>>> Download Full

    >>>>> Download LINK

    Trả lờiXóa

Xem Nhiều