1. Trang chủ
  2. » Công Nghệ Thông Tin

Tuan12 c net linq p3

17 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Ứng Dụng Quản Lý C#.Net Linq
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Lập Trình Ứng Dụng
Thể loại Bài Giảng
Năm xuất bản 2018
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Dữ liệu có thể là file text, xml, cơ sở dữ liệu quan hệ, …  Trong phần mềm hướng đối tượng, dữ liệu cần lưu là các objects  Lưu trữ tình trạng hiện tại  Có khả năng tái tạo lại tì

Trang 1

C#.NET LINQ (tt) Lập trình Ứng dụng quản lý

Nội dung

 LINQ to SQL

Trang 2

Nội dung

Tính bền vững dữ liệu

 Ứng dụng thường có nhu cầu lưu lại dữ liệu.

 Dữ liệu có thể là file text, xml, cơ sở dữ liệu

quan hệ, …

 Trong phần mềm hướng đối tượng, dữ liệu

cần lưu là các objects

 Lưu trữ tình trạng hiện tại

 Có khả năng tái tạo lại tình trạng đã được lưu

Trang 3

Kiến trúc phần mềm

Hướng tiếp cận

 Các hướng tiếp cận trong NET

 DataSets

 Hand-coding

 ORM (DLINQ, NHibernate, …)

Trang 4

ORM

 Lập trình hướng đối tượng là hướng tiếp cận tốt để

xây dựng ứng dụng phức tạp Trong lập trình hướng

đối tượng chúng ta tương tác với các thành phần dữ

liệu (Model) là các đối tượng.

ORM (Object Relational Mapping), là một kỹ thuật/cơ

chế lập trình thực hiện ánh xạ CSDL sang các đối

tượng trong các ngôn ngữ lập trình hướng đối tượng

như Java, C# …(các table tương ứng các class, mối

ràng buộc giữa các table tương ứng quan hệ giữa

các class ‘has a’ , ‘is a’)

 Việc sử dụng ORM cho phép lập trình viên thao tác

với database 1 cách hoàn toàn tự nhiên, dễ hiểu

thông qua các đối tượng Lập trình viên không cần

quan tâmtới loại database, kiểu dữ liệu trong

database…

Tính năng, cài đặt

 ORM hỗ trợ các tính năng: caching, transaction,

concurrency control

 Lập trình viên chỉ cần quan tâm tới việc ánh xạ các

đối tượng sang CSDL

LINQ to SQL (DLINQ)là 1 công cụ ORM

Trang 5

Entity Class

 Ánh xạ class sang table thông qua các

attribute

 Class  Table

 Property  Field

DataContext

 Là đối tượng chủ chốt trong DLINQ

 Quản lý tất cả các thao tác CRUD xuống CSDL

Trang 6

Relationships

Ánh xạ quan hệ 1-ntrong CSDL quan hệ

 Sử dụng attribute Associationở cả 2 class

 Class [1] định nghĩa OtherKey

 Class [n] định nghĩa ThisKey

Relationships (tt)

Trang 7

Relationships (tt)

Mapping

 Sử dụng công cụ giúp generate mapping

sqlmetal: thông qua command-line

 Sử dụng Visual Studio

 Nếu khi thực hiện thao tác ánh xạ, CSDL đã có cài đặt khoá

ngoại thì Visual Studio tự động add các entityRef &

entitySet vào các Entity

 Không cần thực hiện JOIN khi cần truy vấn thông tin

trên nhiều table.

Trang 8

Mapping (tt)

Truy vấn dữ liệu

 Khai báo dataContext

 Đối tượng DataContext có các thuộc tính ứng

với các table dưới CSDL

 db.Customers

 db.Categories

 …

 Các thuộc tính này chính là nguồn dữ liệu cho

các truy vấn LINQ

Trang 9

 Truy vấn chỉ được thực thi khi nào thực sự

dùng đến

 Duyệt kết quả truy vấn

 Gán lên control

Cache dữ liệu

Nếu cần dùng đến kết quả truy vấn >1 lần,

nên cache kết quả truy vấn lại  ToList/

ToArray

Trang 10

Compiled Queries

 Nhu cầu: dùng 1 câu query LINQ nhiều lần

nhưng khác tham số

 Vd:

 Hiển thị danh sách học sinh của lớp

 Hiển thị danh sách hoá đơn của khách hàng

 Giải pháp:

 Viết nhiều câu query  tốn kém chi phí chuyển đổi

truy vấn LINQ sang truy vấn SQL

Sử dụng Compiled Query: thích hợp cho web

Compiled Queries (tt)

Trang 11

Compiled Queries (tt)

Thay đổi dữ liệu

 Thay đổi dữ liệu trực tiếp lên các Entities

 Các hàm thay đổi dữ liệu

kiện

 Gọi hàm DataContext.SubmitChanges() để

Trang 12

Thay đổi dữ liệu (tt)

Thay đổi dữ liệu (tt)

Trang 13

Thay đổi dữ liệu (tt)

Thay đổi dữ liệu (tt)

Trang 14

Thay đổi dữ liệu (tt)

 Có thể thay đổi khoá ngoại bằng cách

 Add/Remove entiry ra khỏi entitySet

 Thay đổi entityRef

Thay đổi dữ liệu (tt)

Trang 15

Chấp nhận thay đổi

 Mỗi khi gọi submitChanges, toàn bộ thay đổi sẽ

được lưu xuống CSDL

 Sau khi lưu thành công, toàn bộ thay đổi sẽ bị “bỏ

quên”, dataContextlúc này không còn chứa bất kỳ

thông tin nào về những thay đổi nữa

 Không có rollbackkhi lưu thất bại  developer phải

tự mình sửa lỗi & submitChangeslại

Giao tác (Transaction)

Trang 16

Giao tác (Transaction)

Luyện tập Query

Với database Northwind Hãy liệt kê tất cả các

Product

Với database Northwind Hãy liệt kê tất cả các

Product theo nhóm Category

Với database Northwind Hãy nhóm các đơn

hàng của khách hàng theo năm và theo tháng

Với database Northwind Tìm tất cả các đơn hàng

có tổng giá trị nhỏ hơn 500 triệu

Với database Northwind Tìm tất cả các đơn hàng

được lập sau năm 1997

Với database Northwind Tìm tất cả các đơn hàng

có tổng giá trị lớn hơn 600 triệu và được khách

hàng từ USA đặt

Trang 17

Luyện tập Query (tt)

Với database Northwind, hãy tìm các Category có

ít nhất 1 Product hết hàng

Với database Northwind, hãy tìm các Category

không có Product nào hết hàng

Với database Northwind, hãy cho biết số lượng

đặt hàng của mỗi khách hàng

Với database Northwind, hãy cho biết số sản

phẩm trong mỗi danh mục

Với database Northwind, hãy cho biết tổng số

lượng sản phẩm trong mỗi danh mục

Luyện tập Query (tt)

Với database Northwind, hãy cho biết giá rẻ nhất

trong mỗi danh mục

Với database Northwind, hãy cho biết sản phẩm

rẻ nhất trong mỗi danh mục

Với database Northwind, hãy cho biết giá đắt

nhất trong mỗi danh mục

Với database Northwind, hãy cho biết sản phẩm

Ngày đăng: 09/04/2023, 06:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN