Entity framework là gì? khi nào sử dụng entity framework

Việc viết code và quản lý dữ liệu trong ADO .Net đôi khi trở nên tẻ nhạt và nhàm chán. Vì vậy, Microsoft đã tạo ra một thư viện hỗ trợ gọi là “Entity Framework” để tự động hóa các tác vụ liên quan đến cơ sở dữ liệu, giúp bạn xây dựng ứng dụng dễ dàng hơn. Hãy cùng tìm hiểu về Entity Framework là gì nhé.

Entity Framework là gì?

Entity Framework là một framework ORM (Object Relational Mapper) mã nguồn mở, được Microsoft phát triển và hỗ trợ. Nó là một phần của .NET Framework và được sử dụng để tương tác giữa các ứng dụng trên nền tảng .NET với cơ sở dữ liệu quan hệ. Entity Framework giúp ánh xạ giữa các đối tượng trong ứng dụng của bạn với các bảng trong cơ sở dữ liệu quan hệ.

Một định nghĩa khác về Entity Framework:

Entity Framework là một khung ORM (Object Relational Mapper) mã nguồn mở được Microsoft hỗ trợ cho các ứng dụng .NET. Đây là một phần của .NET Framework và là một thư viện mã nguồn mở.

Lưu ý: ORM là công cụ tự động tạo ra các đối tượng trong ứng dụng từ các bảng, views và store procedures trong một cơ sở dữ liệu quan hệ.

Entity Framework giúp nhà phát triển web tương tác với cơ sở dữ liệu theo phương pháp hướng đối tượng với ít mã hơn so với các ứng dụng truyền thống. Lợi ích lớn nhất của Entity Framework là giúp lập trình viên giảm thiểu việc viết mã để truy cập và tương tác với cơ sở dữ liệu.

Có Thể Bạn Quan Tâm :   Featuring Nghĩa Là Gì ? Ft Nghĩa Là Gì Trong Âm Nhạc? Nó Là Viết Tắt Của Từ Nào?

Hiện nay, Entity Framework là một framework mạnh mẽ để phát triển ứng dụng web với sự hỗ trợ đông đảo từ cộng đồng người dùng.

Lịch sử ra đời

Entity Framework được ra mắt vào năm 2008. Nhờ sự ra đời của nó, việc truy vấn cơ sở dữ liệu quan hệ trở nên đơn giản hơn, dễ học hơn và giúp giảm thời gian phát triển dự án đáng kể.

Lịch sử phiên bản EF 6

EF 6: 2013 .NET 4.0 & .NET 4.5, VS 2012

EF 5: 2012 .NET 4.0, VS 2012

EF 4.3: 2011 .NET 4.0, VS 2012

EF 4.0: 2010 .NET 4.0, VS 2010

EF 1.0 (hoặc 3.5): 2008 .NET 3.5 SP1, VS 2008

Lịch sử phiên bản lõi (core) của EF

EF Core 2.0: tháng 8 năm 2017 .NET Core 2.0, VS 2017

EF Core 1.1: tháng 11 năm 2016 .NET Core 1.1

EF Core 1.0: tháng 6 năm 2016 .NET Core 1.0

Tại sao lại sử dụng Entity Framework?

Việc sử dụng Entity Framework mang lại các lợi ích sau:

  • Nếu bạn thực hiện truy vấn dữ liệu, bạn có thể sử dụng Linq to Entities để thao tác với các đối tượng được sinh ra từ Entity Framework, điều này giúp bạn không phải viết mã SQL.
  • Việc cập nhật các class và các command dễ dàng khi cơ sở dữ liệu thay đổi, giúp tiết kiệm thời gian đáng kể.
  • Entity Framework tự động tạo ra các class và command tương ứng cho việc truy vấn, chèn, cập nhật, xóa dữ liệu từ cơ sở dữ liệu quan hệ.
  • Entity Framework tự động tạo ra các class để truy xuất cơ sở dữ liệu, giúp lập trình viên tiết kiệm thời gian viết mã để làm việc với cơ sở dữ liệu.

Cấu trúc của Entity Framework

Cấu trúc của Entity Framework được mô tả qua hình sau:

cấu trúc entity framework
cấu trúc entity framework

EDM (Entity Data Model):

EDM bao gồm 3 phần:

  • Conceptual Model: Chứa các model class và các quan hệ của chúng. Nó không phụ thuộc vào thiết kế bảng trong cơ sở dữ liệu của bạn.
  • Mapping: Chứa thông tin về cách Conceptual Model kết nối với Storage Model.
  • Storage Model: Là mô hình thiết kế cơ sở dữ liệu bao gồm bảng, views, stored procedures và các mối quan hệ và khóa.
Có Thể Bạn Quan Tâm :   Đắc đạo là gì? Ý nghĩa của con đường đắc đạo

LINQ to Entities:

LINQ to Entities là ngôn ngữ truy vấn được sử dụng để viết các truy vấn đến các đối tượng trong model. Nó trả về các thực thể được xác định bên trong Conceptual Model.

Entity SQL:

Entity SQL là một ngôn ngữ truy vấn khác, tương tự như LINQ to Entities.

Object Service:

Object Service có trách nhiệm chuyển đổi dữ liệu trả về từ một entity client data provider thành một cấu trúc đối tượng của entity.

Entity Client Data Provider:

Entity Client Data Provider chuyển đổi truy vấn LINQ to Entities hoặc các truy vấn Entity SQL thành truy vấn SQL. Nó hiểu được cơ sở dữ liệu cục bộ và giao tiếp với ADO.Net data provider để gửi và nhận dữ liệu từ cơ sở dữ liệu.

ADO.Net Data Provider:

ADO.Net Data Provider là thành phần giao tiếp với cơ sở dữ liệu bằng cách sử dụng chuẩn ADO.Net.

Những tính năng của Entity Framework

Một số tính năng đáng chú ý của Entity Framework:

  • Entity Framework hỗ trợ stored procedure.
  • Nó làm việc với bất kỳ cơ sở dữ liệu quan hệ nào sử dụng Entity Framework.
  • Entity Framework tạo truy vấn SQL từ LINQ to Entities.
  • Nó là một sản phẩm mã nguồn mở.
  • Entity Framework là một sản phẩm của Microsoft.
  • EF cho phép tạo các câu lệnh thêm, xóa, cập nhật.
  • Theo dõi các thay đổi của các đối tượng trong bộ nhớ.

Các tình huống sử dụng Entity Framework

Entity Framework rất hữu ích trong 3 tình huống sau:

Database First: Nếu bạn đã có một cơ sở dữ liệu hoặc muốn thiết kế cơ sở dữ liệu trước khi làm các phần khác của ứng dụng.

Database First entity framework
Database First entity framework

Code First: Nếu bạn muốn tập trung vào các domain class trước và sau đó tạo cơ sở dữ liệu từ các domain class đó.

Có Thể Bạn Quan Tâm :   Bằng Cử Nhân Kinh Tế Tiếng Anh Là Gì, Bachelor Là Gì
Code First entity framework
Code First entity framework

Model First: Nếu bạn muốn thiết kế schema của cơ sở dữ liệu trên visual designer và sau đó tạo cơ sở dữ liệu và các class tương ứng.

Model First entity framework
Model First entity framework

Hướng dẫn tạo project và cài đặt Entity Framework trong C#

1. Tạo project C#:

Mở Visual Studio -> tạo một project

tạo project c#
tạo project c#

2. Cài đặt Entity Framework

Trong mục Solution Explorer, chuột phải lên project -> chọn Manage NuGet Packages…

Cài đặt Entity Framework
Cài đặt Entity Framework

Click Entity Framework -> chọn Install

setting entity framework
setting entity framework

Ấn Ok để cài đặt.

cài đặt entity fw
cài đặt entity fw

Sau đó bạn ấn Chọn I Accept.

Khi cài đặt thành công, sẽ hiển thị thông báo này ở visual

setup entity framework done
setup entity framework done

3. Chuẩn bị cơ sở dữ liệu

Mở SQL Server Management Studio -> kết nối đến server

tạo cơ sở dữ liệu
tạo cơ sở dữ liệu

Tạo một cơ sở dữ liệu tên EntityDB

tạo entity database
tạo entity database

Trong cơ sở dữ liệu, tạo một bảng tên Student gồm có 4 cột là StudentID, StudentName, StudentGender và Address

database entity student
database entity student

4. Sử dụng Entity Framework

Tạo ADO.NET Entity Data Model

Trong Solution Explorer, chuột phải lên project -> chọn Add -> chọn New Item…

ADO.NET Entity Data Model
ADO.NET Entity Data Model

Chọn Visual C# Items -> chọn ADO.NET Entity Data Model -> nhập DatabaseFirstModel -> chọn Add

database first-model
database first-model

Chọn EF Designer from database -> chọn Next

connect entity db
connect entity db

Chọn kết nối hiện tại hoặc chọn New Connection để thiết lập một kết nối mới.

choose data connection
choose data connection

Trong trường hợp bạn chọn New Connection… -> chọn tên máy chủ (Server name), chọn cơ sở dữ liệu (Database name) -> chọn OK

chọn db name
chọn db name

Chọn Next

db connect end
db connect end

Chọn bảng và chọn Finish

finish connect db
finish connect db

Xong, ấn Ok để hoàn thành.

Kết quả sau khi hoàn thành:

kết quả entity framework
kết quả entity framework

Bạn cần lưu DatabaseFirstModel.edmx trước khi viết code.

5. Viết code:

Mở file Program.cs và thêm mã code như sau:

viết code entity framework
viết code entity framework

Thêm dữ liệu vào SQL

data entity framework
data entity framework

Chạy chương trình:

Kết quả:

kết quả chạy chương trình entity
kết quả chạy chương trình entity

Cảm ơn bạn đã đọc bài viết của tôi.

Tham khảo nguồn: https://giasutinhoc.vn/huong-dan-thuc-hanh/huong-dan-csharp/huong-dan-su-dung-entity-framework-trong-c/

Bạn có thể đăng ký khóa học lập trình tại đây để nhận ưu đãi giảm tới 40%: [link]

Bài viết cùng chủ đề:

  1. .NET Framework là gì? .NET Framework được sử dụng để làm gì, hướng dẫn cơ bản?
Back to top button