Entity framework là gì? Tại sao lại cần sử dụng Entity framework

Icon Author Lê Tuệ Nhi

Ngày đăng: 2021-02-18 18:22:37

Entity framework là gì? Entity Framework (EF) là một khung ORM mã nguồn mở cho ADO.NET là một phần của .NET Framework nó được phát hành lần đầu tiên vào năm 2008, là phương tiện chính của Microsoft để tương tác giữa các ứng dụng .NET. Cùng tìm hiểu chi tiết về Entity framework qua bài viết dưới đây nhé!

1. Entity framework là gì?

Entity Framework được phát hành lần đầu tiên vào năm 2008, là phương tiện chính của Microsoft để tương tác giữa các ứng dụng .NET và cơ sở dữ liệu quan hệ. Entity Framework là Object Relational Mapper (ORM), là một loại công cụ giúp đơn giản hóa việc ánh xạ giữa các đối tượng trong phần mềm của bạn tới các bảng và cột của cơ sở dữ liệu quan hệ.

Entity framework là gì?
Entity framework là gì?

Entity Framework (EF) là một khung ORM mã nguồn mở cho ADO.NET là một phần của .NET Framework.

- ORM đảm nhận việc tạo các kết nối cơ sở dữ liệu và thực thi các lệnh, cũng như lấy các kết quả truy vấn và tự động hiện thực hóa các kết quả đó thành các đối tượng ứng dụng của bạn.

- ORM cũng giúp theo dõi các thay đổi đối với các đối tượng đó và khi được hướng dẫn, nó cũng sẽ lưu các thay đổi đó trở lại cơ sở dữ liệu cho bạn.

Entity Framework (EF) là một trình ánh xạ quan hệ đối tượng (ORM) cho phép các nhà phát triển .NET làm việc với dữ liệu quan hệ bằng các đối tượng miền cụ thể. Nó loại bỏ sự cần thiết của hầu hết các mã truy cập dữ liệu mà các nhà phát triển thường cần viết.

Entity Framework cho phép bạn tạo một mô hình bằng cách viết mã hoặc sử dụng các hộp và dòng trong EF Designer. Cả hai cách tiếp cận này đều có thể được sử dụng để nhắm mục tiêu cơ sở dữ liệu hiện có hoặc tạo cơ sở dữ liệu mới.

Entity Framework cho phép bạn tạo một mô hình bằng cách viết mã
Entity Framework cho phép bạn tạo một mô hình bằng cách viết mã

Entity Framework là ORM chính mà Microsoft cung cấp cho .NET Framework và công nghệ truy cập dữ liệu được khuyến nghị của Microsoft.

Xem thêm: Tìm việc làm .net developer

2. Tại sao lại cần Entity Framework?

Entity Framework là một ORM và các ORM nhằm mục đích tăng năng suất của nhà phát triển bằng cách giảm tác vụ dư thừa trong việc duy trì dữ liệu được sử dụng trong các ứng dụng. Entity Framework có thể tạo ra các lệnh cơ sở dữ liệu cần thiết để đọc và ghi dữ liệu. Nếu bạn đang truy vấn, bạn có thể thể hiện các truy vấn của mình đối với các đối tượng miền của mình bằng cách sử dụng LINQ cho các thực thể.

Entity Framework sẽ thực hiện truy vấn có liên quan trong cơ sở dữ liệu và sau đó cụ thể hóa kết quả thành các phiên bản của đối tượng miền để bạn làm việc trong ứng dụng của mình. Có các ORM khác trên thị trường như NHibernate và LLBLGen Pro. Hầu hết các ORM thường ánh xạ các loại miền trực tiếp với lược đồ cơ sở dữ liệu.

Tại sao lại cần Entity Framework?
Tại sao lại cần Entity Framework?

Entity Framework có một lớp ánh xạ chi tiết hơn để bạn có thể tùy chỉnh các ánh xạ, ví dụ: bằng cách ánh xạ một thực thể tới nhiều bảng cơ sở dữ liệu hoặc thậm chí nhiều thực thể vào một bảng. Entity Framework là công nghệ truy cập dữ liệu được khuyến nghị của Microsoft cho các ứng dụng mới.

Khung thực thể là nơi tất cả các khoản đầu tư trong tương lai đang được thực hiện, đã xảy ra trong một số năm rồi. Microsoft khuyến nghị bạn sử dụng Entity Framework qua ADO.NET hoặc LINQ to SQL cho tất cả các bước phát triển mới.

Mô hình khái niệm

- Đối với các nhà phát triển đã quen với việc phát triển tập trung vào cơ sở dữ liệu, sự thay đổi lớn nhất với Entity Framework là nó cho phép bạn tập trung vào miền doanh nghiệp của mình.  Bạn muốn ứng dụng của mình làm gì mà không bị giới hạn bởi những gì cơ sở dữ liệu có thể làm?

Khuôn khổ thực

- Với Entity Framework, tiêu điểm được coi là một mô hình khái niệm. Đó là mô hình của các đối tượng trong ứng dụng của bạn, không phải là mô hình của cơ sở dữ liệu mà bạn sử dụng để duy trì dữ liệu ứng dụng của mình.

Mô hình khái niệm của bạn có thể phù hợp với lược đồ cơ sở dữ liệu của bạn hoặc nó có thể hoàn toàn khác.

Bạn có thể sử dụng Trình thiết kế trực quan để xác định mô hình khái niệm của mình, mô hình này sau đó có thể tạo ra các lớp cuối cùng bạn sẽ sử dụng trong ứng dụng của mình. Bạn chỉ có thể xác định các lớp của mình và sử dụng một tính năng của Entity Framework được gọi là Code First. Và sau đó Entity Framework sẽ hiểu được mô hình khái niệm.

Mô hình khái niệm
Mô hình khái niệm

Dù bằng cách nào, Entity Framework cũng tìm ra cách chuyển từ mô hình khái niệm sang cơ sở dữ liệu của bạn. Vì vậy, bạn có thể truy vấn các đối tượng mô hình khái niệm của mình và làm việc trực tiếp với chú.

Đặc trưng

Sau đây là các tính năng cơ bản của Entity Framework. Danh sách này được tạo dựa trên các tính năng đáng chú ý nhất và cũng từ các câu hỏi thường gặp về Entity Framework.

- Entity Framework là một công cụ của Microsoft.

- Entity Framework đang được phát triển như một sản phẩm mã nguồn mở.

- Entity Framework không còn bị ràng buộc hoặc phụ thuộc vào chu kỳ phát hành .NET.

Entity Framework là một công cụ của Microsoft
Entity Framework là một công cụ của Microsoft

- Làm việc với bất kỳ cơ sở dữ liệu quan hệ nào với nhà cung cấp Entity Framework hợp lệ.

- Tạo lệnh SQL từ LINQ đến các thực thể.

- Entity Framework sẽ tạo các truy vấn được tham số hóa.

- Theo dõi các thay đổi đối với các đối tượng trong bộ nhớ.

Khuôn khổ thực

- Cho phép chèn, cập nhật và xóa tạo lệnh.

Khuôn khổ thực
Khuôn khổ thực

- Làm việc với một mô hình trực quan hoặc với các lớp học của riêng bạn.

- Entity Framework đã lưu trữ Hỗ trợ thủ tục.

Xem thêm: App chấm công

3. EntityFramework — Kiến trúc

Kiến trúc của Entity Framework, từ dưới lên, bao gồm những điều sau:

Nhà cung cấp dữ liệu: Đây là những nhà cung cấp nguồn cụ thể, nó trừu tượng hóa các giao diện để kết nối với cơ sở dữ liệu khi lập trình dựa trên lược đồ khái niệm. Nó dịch các ngôn ngữ SQL phổ biến như LINQ thông qua cây lệnh sang biểu thức SQL gốc và thực thi nó trên hệ thống DBMS cụ thể.

Lớp này hiển thị lớp thực thể lên lớp trên. Máy khách thực thể cung cấp khả năng cho các nhà phát triển làm việc với các thực thể ở dạng hàng và cột bằng cách sử dụng các truy vấn SQL thực thể mà không cần tạo các lớp để biểu diễn lược đồ khái niệm. Máy khách thực thể hiển thị các lớp khung thực thể, là chức năng cốt lõi.  Các lớp này được gọi là Mô hình Dữ liệu Thực thể.

- Lớp lưu trữ chứa toàn bộ lược đồ cơ sở dữ liệu ở định dạng XML. 

- Lớp thực thể cũng là một tệp XML định nghĩa các thực thể và mối quan hệ.

EntityFramework — Kiến trúc
EntityFramework — Kiến trúc

- Lớp ánh xạ là một tệp XML ánh xạ các thực thể và mối quan hệ được xác định ở lớp khái niệm với các mối quan hệ thực tế và các bảng được xác định ở lớp logic.

Các dịch vụ siêu dữ liệu cũng được đại diện trong Entity Client cung cấp API tập trung để truy cập các lớp Entity, Mapping và Storage được lưu trữ siêu dữ liệu.

Lớp Dịch vụ Đối tượng là Ngữ cảnh Đối tượng, đại diện cho phiên tương tác giữa các ứng dụng và nguồn dữ liệu. Công dụng chính của Object Context là thực hiện các thao tác khác nhau như thêm, xóa các thể hiện của thực thể và lưu trạng thái đã thay đổi trở lại cơ sở dữ liệu với sự trợ giúp của các truy vấn.

Đây là lớp ORM của Entity Framework, biểu thị kết quả dữ liệu cho các thể hiện đối tượng của các thực thể. Dịch vụ này cho phép nhà phát triển sử dụng một số tính năng ORM phong phú như ánh xạ khóa chính, theo dõi thay đổi, v.v. bằng cách viết các truy vấn bằng LINQ và Entity SQL.

4. Điểm nổi bật trong khung thực thể

Framework có một API phức tạp cho phép bạn kiểm soát chi tiết mọi thứ từ mô hình hóa đến hành vi thời gian chạy của nó.  Một phần của Entity Framework 5 nằm bên trong .NET.  Và một phần khác của nó nằm bên trong một lắp ráp bổ sung được phân phối bằng NuGet.

- Chức năng cốt lõi của Entity Framework được tích hợp sẵn trong .NET Framework.

Điểm nổi bật trong khung thực thể
Điểm nổi bật trong khung thực thể

- Hỗ trợ Code First, đó là thứ cho phép Entity Framework sử dụng các lớp thay cho mô hình trực quan và API cách nhẹ hơn để tương tác với EF nằm trong gói NuGet.

- Cốt lõi là những gì cung cấp truy vấn, theo dõi thay đổi và tất cả chuyển đổi từ truy vấn của bạn sang truy vấn SQL cũng như từ dữ liệu trả về thành các đối tượng.

- Bạn có thể sử dụng gói EF 5 NuGet với cả .NET 4 và .NET 4.5.

- Một điểm nhầm lẫn lớn - .NET 4.5 đã thêm hỗ trợ cho dữ liệu không gian và enums vào các API khung thực thể cốt lõi, có nghĩa là nếu bạn đang sử dụng EF 5 với .NET 4, bạn sẽ không nhận được các tính năng mới này.  Bạn sẽ chỉ nhận được chúng khi kết hợp EF5 với .NET 4.5.

Trên đây là những thông tin về Entity Framework  hy vọng rằng qua bài viết này bạn đã nắm rõ về Entity Framework là gì?

Tham gia bình luận ngay!

captcha
Chưa có bình luận nào

Thông Báo

Thoát

Bạn có tin nhắn mới từ Đỗ Xuân Mạnh: