Cấp bậc tác giả:

TRAINING

[ASP.NET MVC]Phần 4-2: Kiến trúc Entity Framework

Được viết bởi webmaster ngày 07/11/2018 lúc 04:23 PM
Mô hình kiến trúc của EF được mô tả đơn giản
  • 0
  • 7120

[ASP.NET MVC]Phần 4-2: Kiến trúc Entity Framework

2. Kiến trúc
2.1. Mô hình kiến trúc Entity Framework
Mô hình kiến trúc của EF được mô tả đơn giản qua hình sau.
lap-trinh-web-asp.net-mvc-6_34.png 
2.2. Application
Application (ứng dụng) là tầng chứa giao diện trang Web (HTML, CSS, Javascript, hình ảnh, …) và các đoạn mã nguồn (C#, VB) để tương tác dữ liệu với các tầng khác trong mô hình thông qua Object Services.
2.3. Object Services
Object Services (tạm dịch là các dịch vụ đối tượng) là tầng chứa quá trình tương tác giữa ứng dụng và database, hay nói cách khác nó là nơi chủ yếu để truy cập dữ liệu từ database và trả ngược kết quả về giao diện. Object Services cung cấp các tiện ích để truy vết các thay đổi và quản lý nhận dạng, đồng thời là các quan hệ và thay đổi ở database.

2.4. EntityClient Data Provider
Đây là tầng cung cấp các kết nối, diễn dịch các truy vấn thực thể thành truy vấn nguồn dữ liệu (chuyển L2E – LINQ to Entity hay các truy vấn thực thể SQL thành truy vấn SQL), trả về data reader để EF dùng chuyển dữ liệu thực thể thành các đối tượng. Phần này kết nối ADO.NET Data Providers để gửi hoặc lấy dữ liệu từ database. Tầng này hoàn toàn khác với EDM (Entity Data Model) khi thực thi các truy vấn tương tự như cách thực hiện ở ADO.NET Provider. EntityClient Data Provider sử dụng ESQL (Entity SQL), một ngôn ngữ truy vấn độc lập dạng văn bản, tương tự như SQL.
2.5. ADO.NET Data Providers
Đây là tầng thấp nhất để dịch các truy vấn L2E (LINQ to Entity) thông qua câu lệnh thành các câu lệnh SQL và thực thi các câu lệnh trong hệ thống DBMS (database management system – hệ quản lý dữ liệu) nào đó. Tầng này kết với database sử dụng ADO.NET.
2.6. EDM (Entity Data Model)
EDM (tạm dịch là mô hình dữ liệu thực thể) chứa 3 phần chính: mô hình khái niệm (CSDL – Conceptual schema definition language), mô hình ánh xạ (MSL – mapping specification language) và mô hình lưu trữ (SSDL – store schema definition language). EDM khác với EntityClient Data Provider ở chỗ EDM sử dụng LINQ là ngôn ngữ truy vấn tương tác với database.
Lưu ý: Trong 1 dự án thực tế, có thể sử dụng LINQ và ESQL (Entity SQL) cùng 1 lúc để đa dạng hóa cách tương tác cơ sở dữ liệu và tối ưu tốc độ lấy cơ sở dữ liệu trong 1 số trường hợp.
2.7. Mô hình khái niệm (CSDL – Conceptual schema definition language)
Mô hình khái niệm chứa các lớp mô hình và mối quan hệ giữa các lớp này. Điều này để độc lập với mô hình quan hệ các bảng trong database.
2.8. Mô hình lưu trữ (SSDL – store schema definition language)
Mô hình lưu trữ là 1 mô hình thiết kế database bao gồm các bảng, view, stored procedure (thủ tục), và mối quan hệ giữa chúng và các khóa. Mô hình này thể hiện gần giống mô hình quan hệ các bảng trong database.
2.9. Mô hình ánh xạ (MSL – mapping specification language)
Mô hình ánh xạ gồm thông tin về cách mô hình khái niệm được ánh xạ đến mô hình lưu trữ.
2.10. L2E (LINQ to Entities)
Là 1 ngôn ngữ truy vấn được dùng để viết các truy vấn trái với mô hình đối tượng. L2E trả về các thực thể, được định nghĩa bởi mô hình khái niệm. Chúng ta có thể dùng LINQ trong ngôn ngữ này.
Phần tiếp theo chúng ta sẽ nghiên cứu về việc viết mã Code First

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML