Các thành phần của ADỌNET
Các thành phần trong ADỌNET đợc thiết kế để tiếp cận với dữ liệu từ việc thao tác dữ liệụ Có hai thành phần trung gian để ADỌNET thực hiện việc này là DataSet và .NET Provider, một bộ các thành phần gồm các đối tợng Connection, Command, DataReader và DataAdapter.
Hình sau đây thể hiện kiến trúc của AdọNET.
Đối tợng ADỌNET Dataset là thành phần cốt lõi của kiến trúc không kết nối trong ADỌNET. DataSet đợc thiết kế cho việc truy cập dữ liệu độc lập với nguồn dữ liệụ Kết quả là nó có thể đợc sử dụng với nhiều nguồn dữ liệu khác nhau, với XML, hay đợc dùng để quản lý dữ liệu địa phơngcho ứng dụng. DataSet chứa một tập hợp các đối tợng DataTable làm thành các hàng và cột cho dữ liệu, các thông tin về khoá chính khoá ngoại, các ràng buộc và quan hệ về dữ liệu đợc chứa trong DataTablẹ
DataSet object model
Mỗi đối tợng trong DataSet gồm nhiều bảng DataTable, các bảng trong DataSet quan hệ với nhau thông qua đối tợng DataRelationship. Đơn giản, ta hãy hình dung DataSet là một tập con các bảng trích ra từ cơ sở dữ liệu và hoạt động độc lập với dữ liệu ban đầụ Dataset cung cấp cho ta cách làm việc với dữ liệu không kết nối tơng tự nh đang làm việc với dữ liệu nối trực tuyến thông thờng.
Đối tợng Dataview cho phép tuỳ biến cách nhìn nhận dữ liệu chứa trong các bảng của DataSet. Mục đích chính của Dataview là hỗ trợ cơ chế ràng buộc dữ liệụ Ta có thể hình dung Dataview tơng tự với đối tợng Recordset trong ADỌ Dataview thể hiện dữ liệu duy nhất của một bảng trong DataSet
Một thành phần cốt lõi khác của kiến trúc ADỌNET là .NET provider, gồm các thành phần đợc thiết kế một cách rõ ràng trong việc thao tác với dữ liệụ Đối t- ợng Connection là cầu nối với nguồn CSDL, đối tợng Command cho phép truy cập đến CSDL để lấy kết quả trở về, sửa đổi dữ liệu, chạy các stored Procedure và gửi hay nhận các thông tin về tham số. đối tợng DataReader biểu diễn luồng dữ liệu nhận đợc từ nguồn CSDL. Cuối cùng là DataAdapter là cầu nối giữa đối tợng DataSet và nguồn dữ liệụ DataAdapter sử dụng đối tợng Command để thực hiện câu lệnh SQL tại CSDL và đa vào dữ liệu vào DataSet.
Đối tợng DataReader trong thành phần .NET Provider cho phép đọc cụ thể từng dòng và cột dữ liệu trong bảng. Chức năng DataReader tơng tự nh Recordset mà ta vẫn dùng trong ADO cũ. Ví dụ: