entity framework là gì

Việc viết mã và quản lý bằng mã ADO .Net để truy cập dữ liệu là một công việc thật nhàm chán và tẻ nhạt. Chính vì vậy, Microsoft đã cung cấp một O/RM framework đặt tên là “Entity Framework” để tự động hóa các hoạt động liên quan đến CSDL giúp bạn xây dựng ứng dụng đơn giản hơn. Hãy cũng mình tìm hiểu về Entity Framework là gì nhé.

Entity Framework là gì?

Entity Framework ra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng trên nền tảng .NET với các cơ sở dữ liệu quan hệ. Hay, Entity Frmework chính là công cụ giúp ánh xạ giữa các đối tượng trong ứng dựng, phần mềm của bạn với các bảng của một cơ sở dữ liệu quan hệ.

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

Entity Framework là một khung ORM(Object Relational Mapper) mã nguồn mở cho các ứng dụng .NET được Microsoft hỗ trợ. là 1 phần của .NET Framework. là một Open source ORM Framework.

Note: ORM là một công cụ tự động tạo ra các Objects trong ứng dụng từ tables,views, store procedures của một Relational Database.

Emntity Framework giúp các nhà phát triển Web tương tác với dữ liệu quan hệ 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 nó là giúp lập trình viên giảm thiểu việc lập trình mã nguồn để thực hiện truy cập và tương tác với cơ sở dữ liệu.

Hiện nay, Entity framwork là 1 framework mạnh để phát triển ứng dụng Web với sự hỗ trợ đông đảo của cộng đồng.

Lịch sử ra đời

Entity Framework được cho 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ở lên đơn giản, dễ học, giúp giảm bớt thời gian phát triển dự án xuống đá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
Lõi EF 1.1 Tháng 11 năm 2016 .NET Lõi 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?

Sử dụng Entity Framework sẽ đem lại những 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 objects được sinh ra từ Entity Framework, nghĩa là bạn không phải viết code sql.
  • Việc update các classes,commands dễ dàng mỗi khi cơ sở dữ liệu có sự thay đổi, điều này giúp bạn tiết kiệm thời gian đáng kể.
  • Entity Frameworksẽ tự động tạo ra các classes, commands tương ứng cho việc select, insert, update,delete dữ liệu từ cơ sở dữ liệu quan hệ.
  • Entity Framework tự động tạo ra các classes cho việc truy suất cơ sở dữ liệu giúp lập trình viên giảm được thời gian viết code thao tác với database. Hỗ trợ bạn không phải mất quá nhiều thời gian cho việc viết code để thao tác với database.

Xem thêm: WPF là gì?

Cấu trúc của Entity Framework

Cấu trúc được mô tả đơn giản 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 nó. Nó độc lập với thiết kế bảng CSDL của bạn.
  • Mapping: gồm có thông tin về cách Conceptual model kết nối với Storage model.
  • Storage Model: Đây là database design model bao gồm các bảng, views, stored procedures, và những quan hệ và các khóa.

LINQ to Entities:

Là ngôn ngữ truy vấn sử dụng để viết các truy vấn tới object model. Trả về các thực thể được định nghĩa bên trong Conceptual model.

Entity SQL:

Đây là một ngôn ngữ truy vấn khác, nó giống LINQ to Entities.

Object Service:

Object service sẽ có trách nhiệm trong việc cụ thể hóa quá trình chuyển đổi dữ liệu trả về từ một entity client data provider tới một entity object structure.

Entity Client Data Provider:

Nhiệm vụ chính của nó là chuyển đổi L2E hoặc những truy vấn Entity SQL vào một truy vấn SQL. Nó được hiểu bởi CSDL cơ bản. Giao tiếp với ADO.Net data provider lần lượt gửi và nhận dữ liệu từ CSDL.

ADO.Net Data Provider:

Thực hiện giao tiếp với CSDL bằng sử dụng chuẩn ADO.Net.

Các tình huống dùng Entity Framework?

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

Database First: Đầu tiên là nếu bạn đã có một CSDL hoặc muốn thiết kế CSDL 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: Thứ hai là bạn muốn tập trung vào các domain class rồi  mới tạo CSDL từ các domain class đó.

Code First entity framework
Code First entity framework

Model First: Thứ ba là bạn muốn thiết kế schema của CSDL trên visual designer rồi mới tạo CSDL và các class.

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 CSDL tạo một table tên Student gồm có 4 column 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 có 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 table và chọn Finish

finish connect db
finish connect db

Xong ấn Ok thêm một lần nữa.

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ở Program.cs và nhập 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 các bạn đã xem bài viết của mình.

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

Leave a Reply