23
Giảng viên: Lê Quý Lộc Blog: http://loclq.wordpress.com Ngày: 19/09/2008

Linq To Sql

  • Upload
    quyloc

  • View
    7.799

  • Download
    5

Embed Size (px)

DESCRIPTION

Linq To Sql full tutorial

Citation preview

Page 1: Linq To Sql

Giảng viên: Lê Quý LộcBlog: http://loclq.wordpress.com

Ngày: 19/09/2008

Page 2: Linq To Sql

Nội Dung

• Giới thiệu LINQ To SQL• Tạo ra các lớp mô hình dữ liệu LINQ To SQL• Truy vấn cơ sở dữ liệu sử dụng các lớp LINQ To SQL• Xác nhận tính hợp lệ của dữ liệu• Sử dụng stored procedures (SPROC)• Kết nối dữ liệu (Data binding)• Xây dựng lớp dữ liệu dựa trên LINQ To SQL• Kết luận

Page 3: Linq To Sql

• LINQ To SQL cho phép mô hình cơ sở dữ liệu mối quan hệ bằng các lớp

• Sau đó chúng ta có thể truy vấn dữ liệu (update/insert/delete…) thông qua các lớp đó

• Giống như cơ sở dữ liệu SQL, LINQ To SQL có hỗ trợ transactions, views, and stored procedures

• LINQ To SQL cung cấp cơ chế để cho lập trình viên thêm vào các phương thức để xác nhận tính hợp lệ của dữ liệu (data validation)

• Ngoài ra, LINQ To SQL cung cấp cơ chế để cho lập trình viên dễ dàng thêm vào các thao tác tính toán, truy vấn cơ sở dữ liệu, để truy vấn dữ liệu phù hợp với nhu cầu của từng loại hệ thống phần mềm

Giới Thiệu LINQ To SQL

Page 4: Linq To Sql

• Click chuột phải vào project chọn add new item LINQ To SQL classes

• Kéo thả các bảng cần truy vấn vào object relational designer

• Thu được các lớp thực thể (entity classes) tương ứng với các bảng dữ liệu

• Đặt tên lại các lớp và các thuộc tính• Các mối quan hệ• Delay/Lazy loading

Tạo Ra Lớp Mô Hình Dữ Liệu LINQ To SQL (4.1)

Page 5: Linq To Sql

Tạo Ra Lớp Mô Hình Dữ Liệu LINQ To SQL (4.2)

Page 6: Linq To Sql

Tạo Ra Lớp Mô Hình Dữ Liệu LINQ To SQL (4.3)

Kéo thả các bảng vào đây

Page 7: Linq To Sql

Tạo Ra Lớp Mô Hình Dữ Liệu LINQ To SQL (4.4)

Page 8: Linq To Sql

• Lấy ra các sản phẩm từ bảng Products

Truy Vấn Cơ Sở Dữ Liệu Sử Dụng Các Lớp LINQ To SQL (5.1)

Tên máy tính của bạn

Page 9: Linq To Sql

• Xem các phát biểu SQL bằng LINQ Query Visualizer

Truy Vấn Cơ Sở Dữ Liệu Sử Dụng Các Lớp LINQ To SQL (5.2)

Page 10: Linq To Sql

• Chọn các cột trả về

Truy Vấn Cơ Sở Dữ Liệu Sử Dụng Các Lớp LINQ To SQL (5.3)

Page 11: Linq To Sql

• Cập nhật cơ sở dữ liệu: thay đổi dữ liệu hàng, thêm 1 hàng

Truy Vấn Cơ Sở Dữ Liệu Sử Dụng Các Lớp LINQ To SQL (5.4)

Page 12: Linq To Sql

• Xóa 1 hàng

Truy Vấn Cơ Sở Dữ Liệu Sử Dụng Các Lớp LINQ To SQL (5.5)

Page 13: Linq To Sql

• Một ví dụ sai, nếu không xác nhận dữ liệu hợp lệ

Xác Nhận Tính Hợp Lệ Của Dữ Liệu (3.1)

• Thêm vào xác nhận dữ liệu hợp lệ

Page 14: Linq To Sql

• Thêm vào xác nhận dữ liệu hợp lệ trong trường hợp tính hợp lệ của dữ liệu có liên quan đến các dữ liệu khác

Xác Nhận Tính Hợp Lệ Của Dữ Liệu (3.2)

Page 15: Linq To Sql

• Xác nhận tính hợp lệ của dữ liệu trong trường hợp insert/update/delete

Xác Nhận Tính Hợp Lệ Của Dữ Liệu (3.3)

Page 16: Linq To Sql

• Ánh xạ SPROC đến LINQ To SQL

Sử Dụng Stored Procedures (4.1)

Kéo thả SPROC vào cửa sổ này

Page 17: Linq To Sql

• Gọi SPROC

Sử Dụng Stored Procedures (4.2)

Page 18: Linq To Sql

• Ánh xạ kiểu trả về của SPROC đến lớp LINQ To SQL

Sử Dụng Stored Procedures (4.3)

Page 19: Linq To Sql

• Xử lý biến Output của SPROC

Sử Dụng Stored Procedures (4.4)

Page 20: Linq To Sql

• LINQ To SQL hỗ trợ cho việc kết nối dữ liệu vào các grid, win32 controls, WPF controls

• Học về kết nối dữ liệu trong các bài giảng về WPF

Kết Nối Dữ Liệu

Page 21: Linq To Sql

Xây D

ựng L

ớp D

ữ L

iệu

Dựa T

rên L

INQ

To S

QL

(2.1

)

Dùng LINQ To SQL để xây dựng lớp này

Page 22: Linq To Sql

• Thật sự dễ dàng khi dùng LINQ To SQL để xây dựng lớp dữ liệu trong mô hình 3 lớp1. Tạo ra cơ sở dữ liệu, các bảng dữ liệu, các mối quan

hệ giữa các bảng bằng công cụ trực quan của VS 2008

2. Thêm LINQ To SQL classes vào dự án đang phát triển3. Kéo thả các bảng dữ liệu cần thao tác vào Object

Relational Designer của LINQ To SQL4. Thêm các phương thức để xác nhận tính hợp lệ của

dữ liệu5. Dùng các phương thức như đã hướng dẫn trong các

slide trước để thao tác trên cơ sở dữ liệu6. DONE!

Xây Dựng Lớp Dữ Liệu Dựa Trên LINQ To SQL (2.2)

Page 23: Linq To Sql

• LINQ To SQL là công cụ đắc lực hỗ trợ cho lập trình viên tạo ra lớp dữ liệu

• LINQ chuyển quan niệm thiết kế cơ sở dữ liệu theo mô hình mối quan hệ, và việc truy vấn dữ liệu theo cấu trúc thành mô hình hướng đối tượng. Tạo ra nhiều thuận lợi cho lập trình viên trong thói quen lập trình hướng đối tượng và sửa lỗi chương trình

• LINQ nói chung, không chỉ giúp chúng ta thao tác trên cơ sở dữ liệu SQL, mà còn thao tác trên nhiều nguồn dữ liệu khác: objects, xml and databases

Kết Luận