Tuan12 c net linq p3

17 1 0
Tuan12 c net linq p3

Đ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

11/21/2018 Lập trình Ứng dụng quản lý C#.NET LINQ (tt) Nội dung  LINQ to SQL 11/21/2018 Nội dung  LINQ to SQL Tính bền vững liệu  Ứng dụng thường có nhu cầu lưu lại liệu  Dữ liệu file text, xml, sở liệu quan hệ, …  Trong phần mềm hướng đối tượng, liệu cần lưu objects  Lưu trữ tình trạng  Có khả tái tạo lại tình trạng lưu 11/21/2018 Kiến trúc phần mềm Hướng tiếp cận  Các hướng tiếp cận NET  DataSets  Hand-coding  ORM (DLINQ, NHibernate, …) 11/21/2018 ORM  Lập trình hướng đối tượng 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 tương tác với thành phần liệu (Model) đối tượng  ORM (Object Relational Mapping), kỹ thuật/cơ chế lập trình thực ánh xạ CSDL sang đối tượng ngôn ngữ lập trình hướng đối tượng Java, C# …(các table tương ứng class, mối ràng buộc table tương ứng quan hệ 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 cách hồn tồn tự nhiên, dễ hiểu thơng qua đối tượng Lập trình viên khơng cần quan tâm tới loại database, kiểu liệu database… Tính năng, cài đặt  ORM hỗ trợ tính năng: caching, transaction, concurrency control  Lập trình viên cần quan tâm tới việc ánh xạ đối tượng sang CSDL  LINQ to SQL (DLINQ) công cụ ORM 11/21/2018 Entity Class  Ánh xạ class sang table thông qua attribute  Class  Table  Property  Field DataContext  Là đối tượng chủ chốt DLINQ  Quản lý tất thao tác CRUD xuống CSDL 11/21/2018 Relationships Ánh xạ quan hệ 1-n CSDL quan hệ  Sử dụng attribute Association class  Class [1] định nghĩa OtherKey  Class [n] định nghĩa ThisKey Relationships (tt) 11/21/2018 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 thực thao tác ánh xạ, CSDL có cài đặt khố ngoại Visual Studio tự động add entityRef & entitySet vào Entity  Không cần thực JOIN cần truy vấn thông tin nhiều table 11/21/2018 Mapping (tt) Truy vấn liệu  Khai báo dataContext  Đối tượng DataContext có thuộc tính ứng với table CSDL  db.Customers  db.Categories …  Các thuộc tính nguồn liệu cho truy vấn LINQ 11/21/2018 Query  Truy vấn thực thi thực dùng đến  Duyệt kết truy vấn  Gán lên control Cache liệu  Nếu cần dùng đến kết truy vấn >1 lần, nên cache kết truy vấn lại  ToList/ ToArray 11/21/2018 Compiled Queries  Nhu cầu: dùng câu query LINQ nhiều lần khác tham số  Vd:  Hiển thị danh sách học sinh lớp  Hiển thị danh sách hoá đơn khách hàng  Giải pháp:  Viết nhiều câu query  tốn 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) 10 11/21/2018 Compiled Queries (tt) Thay đổi liệu  Thay đổi liệu trực tiếp lên Entities  Các hàm thay đổi liệu  InsertOnSubmit: thêm entity  DeleteOnSubmit: xoá entity  DeleteAllOnSubmit: xoá tất entities thoả điều kiện  Gọi hàm DataContext.SubmitChanges() để lưu thay đổi xuống CSDL 11 11/21/2018 Thay đổi liệu (tt) Thay đổi liệu (tt) 12 11/21/2018 Thay đổi liệu (tt) Thay đổi liệu (tt) 13 11/21/2018 Thay đổi liệu (tt)  Có thể thay đổi khoá ngoại cách  Add/Remove entiry khỏi entitySet  Thay đổi entityRef Thay đổi liệu (tt) 14 11/21/2018 Chấp nhận thay đổi  Mỗi gọi submitChanges, toàn thay đổi lưu xuống CSDL  Sau lưu thành cơng, tồn thay đổi bị “bỏ qn”, dataContext lúc khơng cịn chứa thông tin thay đổi  Khơng có rollback lưu thất bại  developer phải tự sửa lỗi & submitChanges lại Giao tác (Transaction) 15 11/21/2018 Giao tác (Transaction) Luyện tập Query  Với database Northwind Hãy liệt kê tất Product  Với database Northwind Hãy liệt kê tất Product theo nhóm Category  Với database Northwind Hãy nhóm đơn hàng khách hàng theo năm theo tháng  Với database Northwind Tìm tất đơn hàng có tổng giá trị nhỏ 500 triệu  Với database Northwind Tìm tất đơn hàng lập sau năm 1997  Với database Northwind Tìm tất đơn hàng có tổng giá trị lớn 600 triệu khách hàng từ USA đặt 16 11/21/2018 Luyện tập Query (tt)  Với database Northwind, tìm Category có Product hết hàng  Với database Northwind, tìm Category khơng có Product hết hàng  Với database Northwind, cho biết số lượng đặt hàng khách hàng  Với database Northwind, cho biết số sản phẩm danh mục  Với database Northwind, cho biết tổng số lượng sản phẩm danh mục Luyện tập Query (tt)  Với database Northwind, cho biết giá rẻ danh mục  Với database Northwind, cho biết sản phẩm rẻ danh mục  Với database Northwind, cho biết giá đắt danh mục  Với database Northwind, cho biết sản phẩm đắt danh mục  Với database Northwind, cho biết mức giá trung bình sản phẩm danh mục 17

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan