So sánh entity framework (ef) với ado.net

Theo yêu cầu từ nhóm tác giả, tập hướng dẫn này có phiên bản thu phí trên hệ thống con Elearning của Tự học ICT. Xem thông tin chi tiết hoặc đăng ký.

ADO.NET và Entity Framework là các công nghệ giúp ứng dụng .NET giao tiếp với cơ sở dữ liệu – thành phần gần như bắt buộc của bất kỳ ứng dụng nào. Trên thực tế, lập trình cơ sở dữ liệu (sử dụng Entity Framework và ADO.NET) là không thể thiếu khi học các công nghệ phát triển ứng dụng trên .NET Framework.

Do đó, chúng tôi xây dựng tập bài giảng này để giúp các bạn tự học lập trình cơ sở dữ liệu sử dụng ADO.NET cơ bản, sau đó sẽ chuyển sang học lập trình với Entity Framework.

Giới thiệu chung về ADO.NET và Entity Framework

Các loại ứng dụng phát triển trên nền tảng .NET của Microsoft sử dụng ADO.NET để làm việc với cơ sở dữ liệu. Entity Framework là một ORM (Object-Relational Mapping) xây dựng bên trên ADO.NET để tiếp tục đơn giản hóa lập trình với cơ sở dữ liệu. Entity Framework được sử dụng đặc biệt phổ biến trong phát triển ứng dụng .NET thay cho lập trình trực tiếp với ADO.NET.

ADO.NET và Entity Framework không phải là hai công nghệ độc lập. Entity Framework được xây dựng bên trên ADO.NET, sử dụng một bộ phận (Data Provider) của ADO.NET. Tuy nhiên, chúng ta lại có thể học hai công nghệ này hoàn toàn độc lập. Các tài liệu về lập trình cơ sở dữ liệu trên .NET Framework cũng thường phân tách rất rõ việc học lập trình ADO.NET với lập trình Entity Framework.

Thực tế là mỗi bộ thư viện này đều rất rộng và phức tạp. Để truyền tải hết nội dung, một cuốn sách viết về mỗi loại công nghệ thường dày từ 300-500 trang. Tuy nhiên, không phải ai cũng cần biết đến mức độ expert như vậy. Để trở thành một lập trình viên .NET bình thường, bạn không nhất thiết phải nắm rõ đến từng ngóc ngách của mỗi công nghệ.

Cách tiếp cận khi học lập trình Entity Framework và ADO.NET

Trong tập bài giảng này chúng tôi lựa chọn một cách truyền tải hơi khác.

Trước hết chúng tôi sẽ hướng dẫn cách lập trình cơ bản với ADO.NET, đặc biệt là cách làm việc với thành phần data provider. Nắm được thành phần này sẽ giúp bạn hiểu rõ hơn cách thức hoạt động của Entity Framework.

Tuy nhiên, chúng tôi lại không đi sâu vào các khía cạnh còn lại của ADO.NET (như DataSet, DataTable, DataColumn, DataRow). Chúng tôi cũng sẽ không hướng dẫn cách áp dụng trực tiếp của ADO.NET trong phát triển ứng dụng.

Phần thứ hai của tài liệu sẽ đi sâu vào lập trình Entity Framework. Chúng tôi sẽ trình bày chi tiết về cả ba hướng tiếp cận của Entity Framework (code-first, model-first, database-first) cũng như cách vận dụng của chúng khi phát triển ứng dụng.

Các nội dung được thể hiện theo tư tưởng chung của Tự học ICT là làm trước – học lý thuyết sau, và học thông qua làm – làm để học. Do đó, các nội dung học đều bao gồm phần thực hành và phần lý thuyết. Chúng tôi thường sẽ cung cấp nội dung thực hành trước để các bạn có cái nhìn trực quan. Sau đó mới trình bày lý thuyết liên quan.

Các yêu cầu cho khóa học

Để theo học được bạn cần phải học xong lập trình C# cơ bản. Đây là tài liệu chuyên về lập trình Entity framework và ADO.NET. Do đó, các kỹ thuật lập trình C# cơ bản sẽ không được nhắc lại ở đây.

Thứ hai, bạn phải có kiến thức cơ bản về cơ sở dữ liệu quan hệ và biết cách làm việc với hệ quản trị SQL Server. Mặc dù ADO.NET và Entity framework có thể làm việc với nhiều hệ quản trị CSDL khác nhau, trong tài liệu này chúng ta chỉ làm việc với SQL Server.

Thứ ba, bạn nên biết ít nhất một công nghệ phát triển ứng dụng .NET nào đó. Ví dụ, windows forms hoặc wpf để phát triển ứng dụng desktop; asp.net mvc cho phát triển ứng dụng web. Bạn có thể đọc thêm bài viết này để biết các công nghệ phát triển ứng dụng phổ biến của .NET. Chúng tôi có thể đưa ra một số ví dụ áp dụng trên các công nghệ này.

Related Posts