[Entity Framework] Phần 1: Giới thiệu Entity Framework

1.687 lượt xem

Entity Framework (EF) là một framework ánh xạ quan hệ đối tượng (ORM) dành cho ADO.NET, là 1 phần của .NET Framework. EF cho phé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 đặc trưng. Lợi ích lớn nhất của EF là giúp lập trình viên giảm thiểu việc lập trình mã nguồn cần thiết để truy cập và tương tác với cơ sở dữ liệu. EF được Microsoft hỗ trợ phát triển lâu dài và bền vững, vì vậy EF là 1 framework mạnh nhất hiện nay để phát triển ứng dụng Web với sự hỗ trợ đông đảo của các nhà phát triển Web.

Vị trí của Entity Framework trong mô hình lập trình và phát triển Web
Chắc hẳn, bạn đã biết về mô hình Web 3 tầng (n tầng) khi đọc sách, giáo trình, bài giảng về nội dung lập trình Web. Tuy nhiên, vấn đề bạn cần phải hiểu rõ là: việc định rõ số lượng các tầng và các mối liên hệ giữa các tầng trong mô hình phát triển Web cũng rất đa dạng, tùy theo cách hiểu các lập trình viên và dự án Web. Do đó, việc hiểu Entity Framework nằm ở đâu trong mô hình Web 3 tầng cũng không hoàn toàn dễ dàng. Trong phần này, tôi có tham khảo từ Stephen M. Redd nhằm giúp các bạn hiểu rõ bản chất vấn đề hơn.

Đầu tiên, chúng ta có vị trí của EF trong mô hình dự án Web ASP.NET MVC.
ef_n_tier

Trong mô hình trên, chúng ta thấy vị trí của EF nằm trọn trong tầng Data Access Layer, tức là EF đóng vai trò là nơi trung gian để tương tác dữ liệu từ database với các tầng cao hơn, chẳng hạn như Business Layer. Hay nói cách khác, EF đóng vai trò như là phiên bản mới của ADO.NET. Tuy nhiên vị trí của EF trong mô hình này chỉ có trên lý thuyết.

Thật sự, khi bắt tay xây dựng nhiều dự án Web, vị trí thường thấy EF ở các dự án website trên thực tế như mô hình sau.
ef_n_tier_alternate

Trong hình trên, EF dường như có vị trí rất tự do, xuất hiện ở cả 3 tầng Data Access Layer, Business Layer, và cả Presentation Layer. Các bạn có thể hình dung EF như là 1 thư viện, hễ tầng nào cần thì chỉ cần gọi đến. Mô hình này xuất phát có thể là sự cẩu thả của lập trình viên khi không thích tuân theo tiêu chuẩn quan hệ giữa các tầng hoặc cách giải thích khác là sự lỏng lẻo giúp cho việc lập trình thuận tiện hơn. Trong vài mô hình người ta gom tầng Data Access Layer và Business Layer chỉ làm tầng Data Model, và vị trí EF cũng bao hàm tầng Data Model và Presentation Layer như hình.
ef_domain_model_abstracted

Đến đây, bạn có thể hiểu 1 cách chung nhất EF có vị trí trung gian, đóng vai trò kết nối giữa cơ sở dữ liệu và các thành phần khác của 1 dự án Web khi cần đến. Ngoài ra, có nhiều cách hiểu về vị trí của EF ở đâu trong mô hình Web, bạn sẽ dần khám phá để đưa ra cách hiểu và định nghĩa riêng trong quá trình thiết kế và xây dựng dự án Web ASP.NET.

Cách cài đặt Entity Framework
Cách 1: EF Tool
EF nằm trong EF Tools (các công cụ EF) có sẵn trong Visual Studio 2013. Nếu bạn sử dụng Visual Studio 2012, bạn có thể tải công cụ ở địa chỉ https://www.microsoft.com/en-us/download/details.aspx?id=40762 sau đó cài đặt.

Cách 2: EF Runtime
Phiên bản mới nhất của EF có sẵn tại gói EntityFramework tại Nuget (http://nuget.org/packages/EntityFramework/).

Để cài Entity Framework, bạn nhấn chuột phải vào thư mục References (hoặc bin) trong dự án Web và chọn Manage NuGet Packages.
manage_nuget_package

Sau đó, bạn tìm và cài đặt gói Entity Framework vào dự án Web.
ef_install

Cách 3: Cài đặt gói EF bằng dòng lệnh (Package Manager Console)

Bạn chọn thư mục cần cài đặt EF (bin hoặc References), sau đó chọn menu Tools -> Library Package Manager -> Package Manager Console như trong hình.
install_ef_by_packagemanagerconsole

Ở phần dòng lệnh dưới đáy bộ công cụ, bạn gõ: Install-Package EntityFramework
command_install_ef_console

Cài đặt bản EF mới nhất
Để cài đặt phiên bản EF mới nhất, bạn có thể chọn Include Prerelease trong cửa sổ Manage NuGet Package.
ef_includeprerelease

Kết luận
Như vậy, bài viết này giúp các bạn nắm các kiến thức cơ bản về Entity Framework, đồng thời là cách sử dụng, cài đặt EF vào dự án Web được xây dựng dựa trên bộ công cụ Visual Studio.

Bình luận Facebook

Để lại bình luận

4 Comments on "[Entity Framework] Phần 1: Giới thiệu Entity Framework"

Thông báo khi có
avatar
1000
Sắp xếp theo:   mới nhất | cũ nhất | nhiều bình chọn nhất
subin12
Khách

có phải entity framework thật ra là chỉ vài thư viện ở trong bin?

Hoàng
Khách

Nếu không muốn dùng Entity thì có framework nào khác tốt k nhỉ?

wpDiscuz