Download miễn phí Bài giảng Dynamic data với LINQ to SQL





Để xây dựng một trang Web với Dynamic Data sẽ bắt đầu bằng cách sử dụng scaffolding. Dynamic Data hỗ trợ mô hình dữ liệu LINQ to SQL và mô hình dữ liệu ADO.NET Entity Framework. Trong một ứng dụng web của chúng ta có thể có nhiều loại mô hình dữ liệu nhưng để sử dụng Dynamic Data thì các mô hì nh dữ liệu phải cùng kiểu.
Chúng ta phải đăng ký mô hình dữ liệu sử dụng Dynamic Data với file “Global.asax”. Sau khi mô hình dữ liệu được đăng ký với Dynamic Data, dữ liệu mô hình có thể tự động thực hiện xác nhận các trường dữ liệu,
và nó cho phép chúng ta kiểm soát sự xuất hiện và hành vi của dữ liệu ở cấp độ tầng dữ liệu.
Trong ví dụ sau đây sẽ xây dựng một Project sử dụng Dynamic Data với mô hình dữ liệu LINQ to SQL.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

MỤC LỤC
1. Dynamic Data là gì? ............................................................................................................ 2
2. Các chức năng của Dynamic Data ......................................................................................... 2
3. Xây dựng ứng dụng Dynamic Data với LINQ to SQL .......................................................... 2
2.1 Tạo Project Dynamic Data ........................................................................................................... 3
2.2 Xây dựng Cơ sở dữ liệu cho Project ............................................................................................ 4
2.3 Tạo DataContext với LINQ to SQL ............................................................................................. 5
2.4 Đăng ký DataContext ................................................................................................................... 7
2.5 Thêm Custom Metadata vào Model ............................................................................................. 8
4. Câu hỏi ôn tập ................................................................................................................... 13
5. Tài liệu tham khảo ............................................................................................................ 14
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 2
Bài 7
DYNAMIC DATA VỚI LINQ TO SQL
Bài này giới thiệu tổng quan về Dynamic Data, những chức năng của Dynamic Data. Cách xây dựng
ứng dụng Dynamic Data với LINQ to SQL.
1. Dynamic Data là gì?
 ASP.NET Dynamic Data cung cấp một Framework cho phép chúng ta nhanh chóng xây dựng
một chức năng ứng dụng driver-data, dựa trên LINQ to SQL hay Entity Framework .
 Dựa trên cấu trúc của CSDL mà Dynamic Data Framework (DDF) sẽ tạo nên các trang web cho
phép người dùng xem/chèn/xóa/sửa dữ liệu.
 Nhiều tính linh hoạt cho các DetailsView, FormView, GridView, ListView trong kiểm tra tính
hợp lệ của dữ liệu, hay chỉnh sửa lại các mẫu để thay đổi cách hiển thị dữ liệu.
 ASP.NET Dynamic Data mang đến cho chúng ta các tiện ích và RAD (Rapid Application
Development) để thay đổi dữ liệu các các control ASP.NET.
2. Các chức năng của Dynamic Data
 Web Scaffolding để tạo ra một ứng dụng web dựa trên các lược đồ cơ bản của cơ sở dữ liệu.
Dynamic Data scaffolding có thể tạo ra một chuẩn UI (User Interface – Giao diện người dùng)
từ các mô hình dữ liệu.
 Đầy đủ các thao tác (tạo, cập nhật, xóa bỏ, hiển thị) cho việc truy cập dữ liệu truy cập dữ liệu,
các thao tác về quan hệ giữa các bảng và kiểm tra tính hợp lệ của dữ liệu.
 Tự động hỗ quan các quan hệ khóa ngoài (foreign-key). Dynamic Data phát hiện ra các quan hệ
giữa các bảng và từ đó tạo ra các giao diện người dùng trên các bảng quan hệ.
 Khả năng tùy chỉnh các UI.
 Khả năng tùy chỉnh tính hợp lệ cho các trường dữ liệu.
3. Xây dựng ứng dụng Dynamic Data với LINQ to SQL
Để xây dựng một trang Web với Dynamic Data sẽ bắt đầu bằng cách sử dụng scaffolding. Dynamic Data
hỗ trợ mô hình dữ liệu LINQ to SQL và mô hình dữ liệu ADO.NET Entity Framework. Trong một ứng dụng web
của chúng ta có thể có nhiều loại mô hình dữ liệu nhưng để sử dụng Dynamic Data thì các mô hình dữ liệu phải
cùng kiểu.
Chúng ta phải đăng ký mô hình dữ liệu sử dụng Dynamic Data với file “Global.asax”. Sau khi mô hình
dữ liệu được đăng ký với Dynamic Data, dữ liệu mô hình có thể tự động thực hiện xác nhận các trường dữ liệu,
và nó cho phép chúng ta kiểm soát sự xuất hiện và hành vi của dữ liệu ở cấp độ tầng dữ liệu.
Trong ví dụ sau đây sẽ xây dựng một Project sử dụng Dynamic Data với mô hình dữ liệu LINQ to SQL.
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 3
2.1 Tạo Project Dynamic Data
Để bắt đầu, File→New Web Site và chọn “Dynamic Data Entities Web Site” hay “Dynamic Data Web
Site”. Ở đây chúng ta dùng Dynamic Data với LINQ to SQL nên chọn “Dynamic Data Web Site” (Hình 1).
Trong Project này chúng ta đặt tên là Vi_du_7, ngôn ngữ là Visual C# sau đó bấm “OK”.
Khi đã tạo xong, bạn sẽ thấy một số Folder/File
được đưa vào trong Solution Explorer (Hình 2).
Trong đó sẽ có một Folder có tên là DynamicData,
bên trong chứa một số các Folder khác, và trong mỗi Folder
con này sẽ chứa các UserControl và các trang ASP.NET.
Hình 1: Tạo Project Dynamic Data với LINQ to SQL
Hình 2: Các Folder và File trong Dynamic
Data
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 4
Hình 4: SQL Server Database
Hình 5: Tạo bảng cho My_Database.mdf
2.2 Xây dựng Cơ sở dữ liệu cho Project
Từ Folder “App_Data” trong “Solution Explore” click phải chuôṭ choṇ “Add New Item” (Hình 3).
Chọn “SQL Server Database”, trong ví dụ
này đặt tên cho CSDL là
“My_Database.mdf”, chọn ngôn ngữ là
“Visual C#”, sau đó bấm “Add” (Hình 4).
Để tạo Table cho “My_Database”, trong “Database Explore”
chúng click chuột phải vào Folder “Table” chọn “Add New Table”.
Trong ví dụ này chúng ta sẽ tạo 2 bảng:
SanPham gồm các trường:
Id, TenSanPham, DonGia, SoLuong, LoaiSanPham (Hình 6).
LoaiSanPham gồm các trường:
Id, TenLoaiSanPham (Hình 7).
Hình 3: Tạo Cơ sở dữ liệu
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 5
Hình 8
2.3 Tạo DataContext với LINQ to SQL
Trong ví dụ này chúng ta dùng LINQ to SQL
để truy cập vào CSDL My_Database.mdf.
Để tạo các lớp cho cho LINQ to SQL, trong
“Solution Explore” click chuột phải chọn “Add New
Item” (Hình 8).
Hình 6: Bảng SanPham trong CSDL My_Database.mdf
Hình 7: Bảng LoaiSanPham trong CSDL My_Database.mdf
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 6
Hình 9: Tạo LINQ to SQL Classes
Hình 11:
Trong “Add New Item” (Hình 9) chọn
“LINQ to SQL Classes”, đặt tên tệp là
“MyDataClassess.dbml”, chọn ngôn ngữ là “Visual
C#”, sau đó bấm vào “Add” .
Sau khi bấm “Add” sẽ xuất hiện một thông
báo khuyên chúng ta nên đặt các file kiểu (LINQ to
SQL Class) vào trong thư mục “App_Code” của
Project. Chúng ta sẽ bấm “Yes” để các file
“MyDataClasses.dbml” sẽ được chứa trong thư mục
“App_Code”.
Mở file “MyDataClasses.dbml” trong thư mực “App_Code”, đánh dấu vào 2 bảng “LoaiSanPham”
và “SanPham”, kéo thả 2 bảng này vào file “MyDataClasses.dbml” (Hình 10).
Sau kéo thả 2 bảng này vào trong “MyDataClasses.dbml”
chúng ta sẽ tạo liên kết cho 2 bảng. Trong file
“MyDataClasses.dbml” click phải chuôṭ choṇ Add→Association
để tạo liên kết giữa 2 bảng (Hình 11).
Hình 10: Tạo file MyDataClasses với 2 bảng SanPham và LoaiSanPham
Hình 12: Tạo liên kết cho bảng LoaiSanPham và SanPham
Microsoft Vietnam – DPE Team | Bài số 7: Dynamic Data với LINQ to SQL 7
Chúng ta sẽ tạo liên kết giữa trường Id của bảng LoaiSanPham với trường LoaiSanPham của bảng
SanPham (Hình 12). Sau đó chúng ta bấm “OK” tạo được kết quả như Hình 13.
2.4 Đăng ký DataContext
Sau khi tạo ra DataContext, chúng ta mở tệp “MyDataClasses.designer.cs”, chương trình đã tạo cho
chúng ta một lớp có tên là MyDataClassesDataContext.
public partial class MyDataClassesDataContext : System.Data.Linq.DataContext
Chúng ta phải đăng ký MyDataClassesDataContext với hệ thống DynamicData. Mở file Global.asax,
Sửa:
//model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });
Thành:
model.RegisterContext(typeof (MyDataClassesDataContext), new ContextConfiguration() { ScaffoldAllTables = true });
Khi đó chúng ta được file Golobal.asax...
 
Top