Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)
Số trang: 13
Loại file: pdf
Dung lượng: 558.18 KB
Lượt xem: 18
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong phần một, tôi đã thảo luận về “LINQ to SQL là gì” và cung cấp một cái nhìn cơ bản về những trường hợp chúng ta có thể sử dụng nó. Trong bài viết đầu tiên, tôi cũng đã cung cấp các đoạn code mẫu để biểu diễn cách xử lý dữ liệu dùng LINQ to SQL, bao gồm: Cách truy vấn dữ liệu Các cập nhật dữ liệu
Nội dung trích xuất từ tài liệu:
Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)Trong phần một, tôi đã thảo luận về “LINQ to SQL là gì” và cung cấp mộtcái nhìn cơ bản về những trường hợp chúng ta có thể sử dụng nó.Trong bài viết đầu tiên, tôi cũng đã cung cấp các đoạn code mẫ u để biểudiễn cách xử lý dữ liệu dùng LINQ to SQL, bao gồm:Cách truy vấn dữ liệuCác cập nhật dữ liệuCách chèn và tạo quan hệ các dòng trong một CSDLCách xóa các dòng trong một CSDLCách gọi một thủ tụcCách lấy dữ liệu và phân trang trên serverTôi đã thực hiện tất cả các thao tác dữ liệu đó bằng cách dùng một mô hìnhdữ liệu LINQ to SQL giống như dưới đây:Trong bài này, tôi sẽ đi vào chi tiết cách tạo ra một mô hình dữ liệu LINQ toSQL giống như trên.LINQ to SQL, cũng như LINQ to SQL, và tất cả các tính năng khác mà tôiđã nói đến trong loạt bài này sẽ đượccoi như một phần của .NET 3.5 vàVisual Studio “Orcas” (nay là Visual Studio 2008).Bạn có thể làm theo tất cả các bước dưới đây bằng cách tải về hoặc VisualStudio 2008 hoặc Visual Web Developer Express. Cả hai đều có thể đượccài đặt và dùng đồng thời với Visual Studio 2005.Tạo ra một mô hình dữ liệu LINQ to SQLBạn có thể thêm một mô hình dữ liệu LINQ to SQL và một dự án ASP.NET,Class Library hay Windows bằng cách dùng tùy chọn “ Add New Item” bêntrong Visual Studio và chọn “LINQ to SQL”:Việc chọn mục “LINQ to SQL” sẽ khởi chạy LINQ to SQL designer, và chophép bạn mô hình hóa các lớp mà nó biểu diễn một CSDL quan hệ. Nó cũngsẽ tạo ra một lớp kiểu “DataContext”, trong đó có các thuộc tính để biểudiễn mỗi bảng mà chúng ta mô hình hóa trong CSDL, cũng như các phươngthức cho mỗi Stored Procedure mà chúng ta mô hình hóa. Như tôi đã mô tảtrong phần 1 của loạt bài này, lớp DataContext là thành phần trung tâm củamô hình, toàn bộ các thao tác truy vấn hoặc cập nhật dữ liệu đều được thựchiện thông qua lớp này.Dưới đây là ảnh chụp màn hình của một của sổ thiết kế LINQ to SQL, vàcũng là cái mà bạn sẽ thấy ngay khi tạo ra một mô hình dữ liệu LINQ toSQL:Các lớp thực thểLINQ to SQL cho phép bạn mô hình hóa các lớp ánh xạ vào CSDL. Các lớpnày thường được là “Entity Class” (lớp thực thể) và các instance của nóthường được gọi là “Entity” (thực thể). Các lớp entity ánh xạ vào các bảngbên trong một CSDL. Các thuộc tính của các lớp thông thường ánh xạ vàocác cột trong bảng. Mỗi instance của một lớp thực thể biểu diễn một dòngtrong bảng.Các lớp thực thể trong LINQ to SQL không cần phải kế thừa từ một lớp đặcbiệt nào khác, điều đó cho phép bạn có thể cho phép chúng thừa kế từ bất cứđối tượng nào bạn muốn. Tất cả các lớp được tạo ra dùng LINQ to SQLdesigner đều được định nghĩa như “partial class” – có nghĩa là bạn có thểviết thêm code để thêm vào các thuộc tính, phương thức và sự kiên chochúng.Không giống như chức năng DataSet/TableAdapter có trong VS 2005, khidùng LINQ to SQL designer, bạn không cần chỉ ra câu truy vấn SQL đượcdùng để tạo ra mô hình và lớp truy xuất dữ liệu.Thay vào đó, bạn tập trung chủ yếu vào việc định nghĩa các lớp thực thể,cách chúng ánh xạ vào CSDL, và mối quan hệ giữa chúng. Trình LINQ toSQL cụ thể mà bạn dùng sẽ đảm bảo việc sinh ra các lệnh SQL thích hợpvào lúc chạy khi bạn tương tác và làm việc với các thực thể dữ liệu. Bạn cóthể dùng cú pháp truy vấn LINQ để chỉ ra cách bạn muốn truy vấn dữ liệu.Tạo các lớp thực thể từ CSDLNếu đã có cấu trúc cho CSDL, bạn có thể dùng nó để tạo các lớp thực thểLINQ to SQL một cách nhanh chóng.Các dễ dàng nhất để làm điều này là mở CSDL trong cửa sổ Server Explorerbên trong Visual Studio, chọn các table và view mà bạn muốn mô hình hóa,và kéo thả chúng lên trên của sổ LINQ to SQL designer.Khi bạn thêm 2 bảng (Categories and Products) và 1 view (Invoices) từCSDL “Northwind” vào cửa sổ LINQ to SQL designer, bạn sẽ có thêm 3 lớpthực thể được tạo ra một cách tự động:Dùng các lớp mô hình hóa dữ liệu ở trên, bạn có thể chạy tất cả các đoạnlệnh mẫu được một tả trong phần 1 của loạt bài này. Tôi không cần thêm bấtkỳ đoạn code nào hay cấu hình để có thể thực hiện được các thao tác query,insert, update, delete và phân trang.Cách đặt tên và ngữ pháp số nhiềuMột trong những thứ bạn đã nghe nhắc đến khi dung LINQ to SQL là nó cóthể tự động chuyển tên bảng và cột thành dạng số nhiều khi tạo các lớp thựcthể. Lấy ví dụ: Bảng “Products” trong ví dụ của chúng ta tạo ra lớp“Product”, cũng như bảng “Categories” tạo ra lớp “Category”. Cách đặt tênnày giúp mô hình của bạn thống nhất với quy ước đặt tên trong .NET.Nếu không thích tên lớp hay tên thuộc tính do trình designer sinh ra, bạn vẫncó thể sửa lại thành bất cứ tên nào bạn thích. Bạn có thể làm điều này bằngcách chỉnh sửa tên thực thể/thuộc tính bên trong trình thiết kế hoặc thôngqua bảng thuộc tính.Khả năng đặt tên cho các thực thể/thuộc tính/quan hệ khác với tên trongCSDL rất hữu dụng trong một số trường hợp, ví dụ:1. Khi tên bảng/cột trong CSDL b ...
Nội dung trích xuất từ tài liệu:
Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)Trong phần một, tôi đã thảo luận về “LINQ to SQL là gì” và cung cấp mộtcái nhìn cơ bản về những trường hợp chúng ta có thể sử dụng nó.Trong bài viết đầu tiên, tôi cũng đã cung cấp các đoạn code mẫ u để biểudiễn cách xử lý dữ liệu dùng LINQ to SQL, bao gồm:Cách truy vấn dữ liệuCác cập nhật dữ liệuCách chèn và tạo quan hệ các dòng trong một CSDLCách xóa các dòng trong một CSDLCách gọi một thủ tụcCách lấy dữ liệu và phân trang trên serverTôi đã thực hiện tất cả các thao tác dữ liệu đó bằng cách dùng một mô hìnhdữ liệu LINQ to SQL giống như dưới đây:Trong bài này, tôi sẽ đi vào chi tiết cách tạo ra một mô hình dữ liệu LINQ toSQL giống như trên.LINQ to SQL, cũng như LINQ to SQL, và tất cả các tính năng khác mà tôiđã nói đến trong loạt bài này sẽ đượccoi như một phần của .NET 3.5 vàVisual Studio “Orcas” (nay là Visual Studio 2008).Bạn có thể làm theo tất cả các bước dưới đây bằng cách tải về hoặc VisualStudio 2008 hoặc Visual Web Developer Express. Cả hai đều có thể đượccài đặt và dùng đồng thời với Visual Studio 2005.Tạo ra một mô hình dữ liệu LINQ to SQLBạn có thể thêm một mô hình dữ liệu LINQ to SQL và một dự án ASP.NET,Class Library hay Windows bằng cách dùng tùy chọn “ Add New Item” bêntrong Visual Studio và chọn “LINQ to SQL”:Việc chọn mục “LINQ to SQL” sẽ khởi chạy LINQ to SQL designer, và chophép bạn mô hình hóa các lớp mà nó biểu diễn một CSDL quan hệ. Nó cũngsẽ tạo ra một lớp kiểu “DataContext”, trong đó có các thuộc tính để biểudiễn mỗi bảng mà chúng ta mô hình hóa trong CSDL, cũng như các phươngthức cho mỗi Stored Procedure mà chúng ta mô hình hóa. Như tôi đã mô tảtrong phần 1 của loạt bài này, lớp DataContext là thành phần trung tâm củamô hình, toàn bộ các thao tác truy vấn hoặc cập nhật dữ liệu đều được thựchiện thông qua lớp này.Dưới đây là ảnh chụp màn hình của một của sổ thiết kế LINQ to SQL, vàcũng là cái mà bạn sẽ thấy ngay khi tạo ra một mô hình dữ liệu LINQ toSQL:Các lớp thực thểLINQ to SQL cho phép bạn mô hình hóa các lớp ánh xạ vào CSDL. Các lớpnày thường được là “Entity Class” (lớp thực thể) và các instance của nóthường được gọi là “Entity” (thực thể). Các lớp entity ánh xạ vào các bảngbên trong một CSDL. Các thuộc tính của các lớp thông thường ánh xạ vàocác cột trong bảng. Mỗi instance của một lớp thực thể biểu diễn một dòngtrong bảng.Các lớp thực thể trong LINQ to SQL không cần phải kế thừa từ một lớp đặcbiệt nào khác, điều đó cho phép bạn có thể cho phép chúng thừa kế từ bất cứđối tượng nào bạn muốn. Tất cả các lớp được tạo ra dùng LINQ to SQLdesigner đều được định nghĩa như “partial class” – có nghĩa là bạn có thểviết thêm code để thêm vào các thuộc tính, phương thức và sự kiên chochúng.Không giống như chức năng DataSet/TableAdapter có trong VS 2005, khidùng LINQ to SQL designer, bạn không cần chỉ ra câu truy vấn SQL đượcdùng để tạo ra mô hình và lớp truy xuất dữ liệu.Thay vào đó, bạn tập trung chủ yếu vào việc định nghĩa các lớp thực thể,cách chúng ánh xạ vào CSDL, và mối quan hệ giữa chúng. Trình LINQ toSQL cụ thể mà bạn dùng sẽ đảm bảo việc sinh ra các lệnh SQL thích hợpvào lúc chạy khi bạn tương tác và làm việc với các thực thể dữ liệu. Bạn cóthể dùng cú pháp truy vấn LINQ để chỉ ra cách bạn muốn truy vấn dữ liệu.Tạo các lớp thực thể từ CSDLNếu đã có cấu trúc cho CSDL, bạn có thể dùng nó để tạo các lớp thực thểLINQ to SQL một cách nhanh chóng.Các dễ dàng nhất để làm điều này là mở CSDL trong cửa sổ Server Explorerbên trong Visual Studio, chọn các table và view mà bạn muốn mô hình hóa,và kéo thả chúng lên trên của sổ LINQ to SQL designer.Khi bạn thêm 2 bảng (Categories and Products) và 1 view (Invoices) từCSDL “Northwind” vào cửa sổ LINQ to SQL designer, bạn sẽ có thêm 3 lớpthực thể được tạo ra một cách tự động:Dùng các lớp mô hình hóa dữ liệu ở trên, bạn có thể chạy tất cả các đoạnlệnh mẫu được một tả trong phần 1 của loạt bài này. Tôi không cần thêm bấtkỳ đoạn code nào hay cấu hình để có thể thực hiện được các thao tác query,insert, update, delete và phân trang.Cách đặt tên và ngữ pháp số nhiềuMột trong những thứ bạn đã nghe nhắc đến khi dung LINQ to SQL là nó cóthể tự động chuyển tên bảng và cột thành dạng số nhiều khi tạo các lớp thựcthể. Lấy ví dụ: Bảng “Products” trong ví dụ của chúng ta tạo ra lớp“Product”, cũng như bảng “Categories” tạo ra lớp “Category”. Cách đặt tênnày giúp mô hình của bạn thống nhất với quy ước đặt tên trong .NET.Nếu không thích tên lớp hay tên thuộc tính do trình designer sinh ra, bạn vẫncó thể sửa lại thành bất cứ tên nào bạn thích. Bạn có thể làm điều này bằngcách chỉnh sửa tên thực thể/thuộc tính bên trong trình thiết kế hoặc thôngqua bảng thuộc tính.Khả năng đặt tên cho các thực thể/thuộc tính/quan hệ khác với tên trongCSDL rất hữu dụng trong một số trường hợp, ví dụ:1. Khi tên bảng/cột trong CSDL b ...
Tài liệu có liên quan:
-
183 trang 324 0 0
-
80 trang 273 0 0
-
Giáo trình Hệ điều hành: Phần 2
53 trang 258 0 0 -
117 trang 253 1 0
-
Giáo trình Hệ điều hành Linux (Ngành: Công nghệ thông tin) - CĐ Công nghiệp Hải Phòng
103 trang 227 0 0 -
271 trang 170 0 0
-
Hướng dẫn sử dụng Windows 7 với Boot Camp
8 trang 161 0 0 -
Tài liệu ôn thi công chức - Môn Tin học
9 trang 159 0 0 -
Nghiên cứu xây dựng bộ sinh số ngẫu nhiên tích hợp với nhiều hệ điều hành
5 trang 136 0 0 -
Tiểu luận: Quản lý bộ nhớ trong hệ điều hành windows
21 trang 136 0 0