intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động: Bài 3 - Trần Duy Thanh

Chia sẻ: Sao Cũng được | Ngày: | Loại File: PPT | Số trang:43

86
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài 3 tiếp tục giới thiệu đến người học về các công nghệ dùng để xây dựng web service cho ứng dụng di động. Sau khi học xong bài này người học có thể biết kiến trúc của Entity Framework, biết cài đặt Entity Framework, biết thực hiện truy vấn dữ liệu trên Entity Framework. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động: Bài 3 - Trần Duy Thanh

  1. Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh TRUNG TÂM TIN HỌC Bài 3: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động – Phần 2 Ngành Mạng & Thiết bị di động www.t3h.vn 2015
  2. Nội dung 1. Giới thiệu Object­Relational Mapping (ORM) 2. Entity Framework (EF) Xây dựng và triển khai Web Service cho ứng dụng di động 2
  3. 1. Giới thiệu Object­Relational Mapping  (ORM) • Object­Relational  Mapping  (ORM)  là  kỹ  thuât  ̣ ánh  xa ̣ từ  mô  hình đối tượng xuống CSDL quan hê.̣ • Cho  phép  thao  tác  trên  bang  ̉ (Table)  trong  CSDL  mà  không  cần quan tâm nhiều đến viêc viê ̣ ́t câu truy vấn cho mỗi lần  truy xuất CSDL. Xây dựng và triển khai Web Service cho ứng dụng di động 3
  4. 1. Giới thiệu Object­Relational Mapping  (ORM) • Ưu điêm ̉ • Đôc lâp v ̣ ̣ ới Hê quan tri C ̣ ̉ ̣ ơ sở dữ liêu. ̣ • Cung  cấp  các  API  đơn  gian  ̉ dễ  dùng,  viết  mã  nhanh,  ban  ̉ thiết kế gần gũi với lâp tri ̣ ̀nh viên  → tiết kiệm thời gian lập trình. • Khuyế t điêm ̉ • Các  ORM  thường  tự  sinh  ra  các  câu  lênh  ̣ SQL  → Khó can thiệp sâu để tối ưu hóa → Ảnh hưởng đến hiệu suất. • Cấu trúc bên dưới sẽ phức tap nê ̣ ́u lam dung viêc kê ̣ ̣ ̣ ́ thừa  quá nhiều. • Khó khăn trong viêc quan ly ̣ ̉ ́ session. Xây dựng và triển khai Web Service cho ứng dụng di động 4
  5. Nội dung 1. Giới thiệu Object­Relational Mapping (ORM) 2. Entity Framework (EF) • Giới thiêu Entity Framework ̣ • Kiến trúc Entity Framework • Cài đăt Entity Famework ̣ • Tao Entity Data Model và gi ̣ ới thiệu cấu trúc thư mục • DBContext • Các loại đối tượng trong Entity • Thiết lập quan hệ cho Entity • Vòng đời của Entity • Các cách tiếp cân trong lâp tri ̣ ̣ ̀nh với Entity Framework • Th ực  hiện  truy  vấn  với  EDM  ,  thực  hiện  thêm,  xóa,  sửa  trên  Entity  (CRUD). Xây dựng và triển khai Web Service cho ứng dụng di động 5
  6. 2.1 Giớ i thiêu Entity Framework ̣ Entity Framework (EF)  •Là một bộ ánh xạ đối tượng – quan hệ cho phép người  lập  trình  .NET  làm  việc  với  dữ  liệu  quan  hệ  qua  các  đối  tượng (object), giúp lập trình viên không cần viết mã cho  (hầu hết) những gì liên quan đến truy cập dữ liệu.  → Entity Framework là môt mô hi ̣ ̀nh ORM.  •Sử  dụng  LINQ  để  truy  vấn  và  cập  nhật  dữ  liệu  với  sự  hỗ trợ của ADO.NET Data Provider. Xây dựng và triển khai Web Service cho ứng dụng di động 6
  7. 2.1 Giớ i thiêu Entity Framework ̣ Các thành phần trong Entity Framework: •Code: mã lệnh tạo thành các lớp đối tượng dữ liệu cho  phép thao tác với dữ liệu. •Model:  sơ  đồ  gồm  các hộp  mô  tả  các  thực thể  và các  đường nối kết mô tả các quan hệ. •Database:  cơ  sở  dữ  liệu  (có  thể  là  SQL  Server,  Compact SQL Server, Local database, MySQL, Oracle,…) Xây dựng và triển khai Web Service cho ứng dụng di động 7
  8. 2.1 Giớ i thiêu Entity Framework ̣ Sơ đồ minh hoa ca ̣ ́c hình thức ánh xa – quan hê trong Entity Framework:  ̣ ̣ Xây dựng và triển khai Web Service cho ứng dụng di động 8
  9. 2.2 Kiến trúc Entity Framework Mô hình kiến trúc Entity Framework Xây dựng và triển khai Web Service cho ứng dụng di động 9
  10. 2.2 Kiến trúc Entity Framework • EDM (Entity Data Model)  Được phát triên b ̉ ởi Dr. Peter Chen (1970s). Xây dựng và triển khai Web Service cho ứng dụng di động 10
  11. 2.2 Kiến trúc Entity Framework • EDM (Entity Data Model) gồm ba phần chính:   Khái niệm mô hình (Conceptual model) Các lớp và mối quan hệ tương ứng với cơ sở dữ liệu. Được độc lập từ cơ sở dữ liệu.  Mapping (ban đô ̉ ̀) Thông tin các khái niệm mô hình do lâp tri ̣ ̀nh viên ánh xạ tới  mô hình lưu trữ hay cơ sở dữ liệu.  Mô hì nh lưu trữ  (Storage model) Mô hình thiết kế cơ sở dữ liệu bao gồm Table, View, Store  procedure, Relationship, Key,… Xây dựng và triển khai Web Service cho ứng dụng di động 11
  12. 2.2 Kiến trúc Entity Framework • LINQ to Entities  Ngôn  ngữ  truy  vấn  được  sử  dụng  để  truy  vấn  với  mô  hình đối tượng (Object Model).   Giá trị trả về tuỳ thuộc theo người lâp tri ̣ ̀nh, theo mô  hình (Model). • Entity SQL  Ngôn  ngữ  truy  vấn  giống  như  LINQ  to  Entities  nhưng  nó phức tạp hơn LINQ to Entities . Xây dựng và triển khai Web Service cho ứng dụng di động 12
  13. 2.2 Kiến trúc Entity Framework • Object Service  Phục vụ cho việc truy cập, trả giá trị dữ liệu từ cơ sở dữ liệu.  Cung cấp  đầy đủ dịch vụ  để quá trình chuyển  đổi dữ liệu từ thực  thể đến cấu trúc đối tượng dễ dàng hơn. • Entity Client Data Provider  Chuyển đổi L2E hoặc truy vấn Entity SQL vào truy vấn SQL trong  cơ sở dữ liệu.   Giao tiếp với ADO.NET data provider hoặc lấy dữ liệu từ cơ sở dữ  liệu. • ADO.Net Data Provider  Giao tiếp với cơ sở dữ liệu sử dụng theo chuẩn ADO.NET Xây dựng và triển khai Web Service cho ứng dụng di động 13
  14. 2.3 Cà i đăt Entity Famework ̣ • Cà i đăt NuGet ̣ EF  6.1.3  (ban  ̉ mới  nhất  hiên  ̣ nay)  yêu  cầu  phai ̉ có  NuGet  2.8.6  trở  lên.  →  Cần  cài  đăt  ̣ NuGet  cho  Visual  Studio  2013  trở  xuống,  riêng  với  Visual Studio 2015 đã được tích hợp sẵn mà không cần cài đăt. ̣ • Cà i đăt Entity Framework ̣  Cá ch 1: Sử dung lênh ̣ ̣ Khởi  đông  ̣ Visual  Studio  (đã  cài  NuGet)  → Tools → NuGet Package Manager → Package Manager Console và gõ câu lệnh sau: Install-Package EntityFramework Xây dựng và triển khai Web Service cho ứng dụng di động 14
  15. 2.3 Cà i đăt Entity Famework ̣ • Cà i đăt Entity Framework ̣  Cá ch 2:  Khởi đông Visual Studio (đa ̣ ̃ cài NuGet) → Tools → NuGet Package  Manager → Manager NuGet Package for Solution… → gõ tìm  Entity Framewwork và cài đăt no ̣ ́. Xây dựng và triển khai Web Service cho ứng dụng di động 15
  16. 2.4 Tạo Entity Data Model và giới thiệu cấu  trúc thư mục Tao Entity Data Model ̣ Bướ c 1: Mở Visual Studio và tao môt d ̣ ̣ ự án (project). Bướ c 2: Thêm Entity Data Model vào dự án vừa tao. ̣ •Nhấp chuôt phai va ̣ ̉ ̀o dự án  → Add  → New Item  → Visual C# Items  → Data  → ADO.NET  Entity Data Model → Đặt tên cho Entity Data Model muốn tạo và chọn Add. •Từ hôp thoai Entitty Data Model Wizard  ̣ ̣ → Chọn EF Designer from database → Next. •Chon d ̣ ữ liêu kê ̣ ́t nối (Choose Your Data Connection): chon ma ̣ ̃ nguồn (Data source),  điền tên server (server name), tên CSDL và kiêm tra kê ̉ ́t nối (Test connection). •Chon phiên ban (Choose Your Version):  ̣ ̉ Chọn Entity Framework 6.x. •Chon ̣ dữ  liêu ̣ đối  tượng  và  cài  đăt ̣ (Choose  Your  Data  Objects  and  Settings):  Chon ̣ Tables → đổi tên Model Namspace → Fisnish. Xây dựng và triển khai Web Service cho ứng dụng di động 16
  17. 2.4 Tạo Entity Data Model và giới thiệu cấu  trúc thư mục Thiế t kế  EDM •Thiết kế EDM đại diện cho mô hình của chúng ta.  •Nó bao gồm Entities, Associations và Multiplicity giữa các thực thể. •Nó giống như cấu trúc bảng (table) trong cơ sở dữ liệu, nhưng chúng  ta  có  thể  thêm  hoặc  trộn  cột  (merge  column)  hoặc  xoá  cột  (remove  column) mà không đòi hỏi phải từ  ứng dụng của bạn thông qua thiết kế  này.  •Có thể thêm đối tượng mới có các cột trong mô hình này. •Chú ý: Nên hết sức cẩn thận khi thay đổi trong thiết kế. Xây dựng và triển khai Web Service cho ứng dụng di động 17
  18. 2.5 DBContext • Là đối tượng UnitOfWork ­ là mẫu thiết kế về truy xuất CSDL. • Nó theo dõi những thay đổi của các đối tượng và chịu trách nhiệm cập nhật dữ liệu đến CSDL. • Nó giữ bản sao chép cục bộ của dữ liệu (ở CSDL) với những thay  đổi chưa được cập nhật. → Đối  tượng  DBContext  phải  có  thời  gian  sống  ngắn  đê ̉ nhanh  chóng  cập  nhật  CSDL  nhằm  giảm  nguy  cơ  xảy ra các mâu thuẫn khi xử lý đồng bộ. • Khi sử dụng EF, chúng ta cần phải tạo một lớp ngữ cảnh k ế th ừa  từ System.Data.Entity.DbContext.  Xây dựng và triển khai Web Service cho ứng dụng di động 18
  19. 2.6 Các loại đố i tượng trong Entity Framework • Có  4  loại:  EntityObject,  POCO  (Plain  Old  CLR  Object)  ,  POCO  Proxy, Self­Tracking Entities. • Với mỗi Entity đều có 2 loại thuộc tính:  • Scalar properties • Gồm các thuộc tính nằm trong một entity.  • Ứng  với  Entity  Teacher  có  scalar  properties  là  TeacherId,  TeacherName, StandardId • Navigation properties • Là một con trỏ, trỏ đến một Entity khác ­ nó hiện thực primary key –  foreign key (1­n).  • Ứng  với  Entity  Teacher  có  2  navigation  properties  là  Courses,  Standard Xây dựng và triển khai Web Service cho ứng dụng di động 19
  20. 2.6 Các loại đố i tượng trong Entity Framework • EntityObject  Mặc định ADO.NET Entity Data Model tạo một EntityObject từ  database thông qua trình công cụ có sẵn của Visual Studio.   Nó hiển thị đầy đủ cấu trúc của một Table (Fields Name, Data  type,….) • POCO (Plain Old CLR Object)  Là một thực thể của CSDL (database).  EF sẽ tự động tạo ra các đối tượng ứng với CSDL.   Nó cũng hỗ trợ cú pháp LINQ. Xây dựng và triển khai Web Service cho ứng dụng di động 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2