Phần cuối cùng này sẽ cố gắng đưa ra nhưng kịch bản phổ biến khi phát triển các ứng dụng truy cập cơ sở dữ liệu với . Phân tầng các ứng dụng Việc sản xuất các phần mềm tương tác với dữ liệu thường chia ứng dụng thành nhiều tầng. Một mô hình phổ biến của một ứng dụng phân tầng là các dịch vụ dữ liệu phân tầng, và một cơ sở dữ liệu phân tầng. Một trong những cái khó của mô hình này là việc phân tách dữ liệu giữa các tầng, và định dạng. | Truy cập cơ sở dữ liệu với .NET Làm việc với Phần cuối cùng này sẽ cố gắng đưa ra nhưng kịch bản phổ biến khi phát triển các ứng dụng truy cập cơ sở dữ liệu với . Phân tầng các ứng dụng Việc sản xuất các phần mềm tương tác với dữ liệu thường chia ứng dụng thành nhiều tầng. Một mô hình phổ biến của một ứng dụng phân tầng là các dịch vụ dữ liệu phân tầng và một cơ sở dữ liệu phân tầng. Một trong những cái khó của mô hình này là việc phân tách dữ liệu giữa các tầng và định dạng truyền giữa các tầng. đã giải quyết các vấn đề này và đã sớm hỗ trợ cho kiểu cấu trúc này. Sao chép và trộn dữ liệu Thật khó để copy một DB recordset Trong In .NET thậy dễ dàng để sao chép một DataSet DataSet source some dataset DataSet dest Nó tạo một bản copy của DataSet nguồn - từng DataTable DataColumn DataRow và Relation sẽ được sao chép y chan và tất cả dữ liệu với các trạng thái trong file nguồn đều đươc sao chép. Nếu như bạn chỉ muốn sao chép sơ đồ của DataSet bạn có thể làm như sau DataSet source some dataset DataSet dest Nó chỉ sao chép tất cả các table relation vân vân. Tất nhiên DataTable sẽ rỗng. Một thực tế phổ biến khi viết các hệ thống phân tầng dựa trên Win32 hoặc web là có truyền dữ liệu giữa các lớp càng ít càng tốt. DataSet có phương thưc GetChanges để giải quyết các yêu cầu này. Phương thức đơn giản này thực thi một loạt các công việc và trả về một DataSet với những dòng được cập nhật trong dataset nguồn. Đây là ý tưởng truyền dữ liệu giữa các tầng chỉ một tập nhở dữ liệu được truyền. Ví dụ sau chỉ ra cách tạo một changes DataSet DataSet source some dataset DataSet dest Bên dưới lớp vỏ bọc là rất nhiều thứ hấp dẫn. Có hai quá tải của phương thức GetChanges . Một quá tải lấy giá trị của một DataRowState và chỉ trả về các trạng thái tương ứng. GetChanges đơn giản gọi GetChanges Deleted Modified Added và kiểm tra nếu để bảo đảm rằng có một vài thay đổi bằng cách gọi HasChanges . Nếu không có thay đổi nào một giá