SlideShare a Scribd company logo
GI I THI U ADO.NETỚ Ệ
ENTITY FRAMEWORK
minhtri.itp@gmail.com1
NỘI DUNG
2
I. GIỚI THIỆU ENTITY FRAMEWORK
Là nền tảng truy cập dữ liệu của Microsoft bao gồm
một tập hợp các kỹ thuật được kế thừa và phát triển từ
ADO.NET.
Giúp lấp đầy khoảng cách giữa lập trình hướng đối
tượng và cơ sở dữ liệu.
Phiên bản đầu tiên phát hành vào tháng 7 năm 2008
như một phần của Visual Studio 2008 SP1.
Entity Framework 4.1 là phiên bản mới nhất được
phát hành vào tháng 7 năm 2011.
3
II. KIẾN TRÚC
 Ki n trúc c a Entity Frameworkế ủ
4
II. KIẾN TRÚC (TT)
 Ki n trúc c a Entity Frameworkế ủ
I. Entity Data Model là s k tự ế
h p c a 3 mô hình:ợ ủ
1. Conceptual Schema
2. Mapping Schema
3. Logical Schema
Conceptual là mô hình quan
ni m d li u mô t các th c thệ ữ ệ ả ự ể
(entity/object) và m i quan hố ệ
gi a chúng.ữ
Mapping th c hi n nhi m vự ệ ệ ụ
ánh x gi a mô hình quan ni mạ ữ ệ
d li u và mô hình logicữ ệ
Logical(Storage) Mô t cácả
b ng d li u, view, procerdure vàả ữ ệ
m i quan h gi a chúngố ệ ữ
5
II. KIẾN TRÚC (TT)
 Truy v n d li u nh th nào?ấ ữ ệ ư ế
 Đó là câu h i đ c đ t ra c a các nhà phátỏ ượ ặ ủ
tri n Entity Framework t khi xây d ng.ể ừ ự
 S d ng SQL Query? N u s d ng s không hử ụ ế ử ụ ẽ ỗ
tr đ c nhi u h qu n tr c s d li u.ợ ượ ề ệ ả ị ơ ở ữ ệ
Ngôn ng truy v n chính đ c ch n làữ ấ ượ ọ
LINQ to Entities, bên c nh đó v n h tr m tạ ẫ ỗ ợ ộ
ngôn ng truy v n khác t ng t nh SQL đó làữ ấ ươ ự ư
Entity SQL, ngoài ra v i EF cho phép chúng ta cóớ
th g i tr c ti p m t câu l nh SQL hay m tể ọ ự ế ộ ệ ộ
Procerdure t database.ừ
6
NH NG Đ C ĐI M N I B T C A ENTITYỮ Ặ Ể Ổ Ậ Ủ
FRAMEWORK
 H tr cho nhi u h qu n tr c s d li uỗ ợ ề ệ ả ị ơ ở ữ ệ
o MSSQL Server, Oracle, MySql, PostgreSQL, SQL
Anywhere, DB2,Informix ,U2, Ingres, Progress,
Firebird, Synergy, Virtuoso
 T o ra mô hình chung gi a database và môạ ữ
hình th c th quan h c a ng d ngự ể ệ ủ ứ ụ
 Truy v n d li u thông qua Linq to Entitiesấ ữ ệ
 H tr ki u d li u ph c h p (Complex Typeỗ ợ ể ữ ệ ứ ợ
Support)
 H tr nhi u cách đ t o ra mô hình và có thỗ ợ ề ể ạ ể
hi u ch nh mô hình m t cách tr c quan (Modelệ ỉ ộ ự
Browser Improvements)
 Và m t s tính năng khác….ộ ố 7
II. NH NG Đ C ĐI M N I B T C AỮ Ặ Ể Ổ Ậ Ủ
ENTITY FRAMEWORK
 Linh ho t trong vi c mô hình hóa d li u h ngạ ệ ữ ệ ướ
đ i t ngố ượ
DB Model
DB Model
DB Model
Model First (VS 2010 and .NET 4.0)
Code First (Only) (Entity Framework Feature CTP5)
Database First (VS 2008 and .NET 3.5 SP1)
8
III.NHỮNG KHÓ KHĂN HIỆN NAY
 V i mô hình l p trình N- tier ng i l p trình ph iớ ậ ườ ậ ả
m t khá nhi u th i gian đ thi t k Data Accessấ ề ờ ể ế ế
Layer.
 V i mô hình (MVC,MVP) c n khá nhi u th i gian choớ ầ ề ờ
c u trúc Model.ấ
 Không ki m soát đ c thay đ i gi a Database và codeể ượ ổ ữ
ch ng trình(L i không phát hi n đ c).ươ ỗ ệ ượ
 Kh năng chuy n đ i HQTCSDL r t khó khăn.ả ể ổ ấ
 Ng i l p trình ph i hi u rõ ki n trúc và SQL Queryườ ậ ả ể ế
c a t ng h qu n tr c s d li u.ủ ừ ệ ả ị ơ ở ữ ệ
 Th i gian và chi phí s n xu t ph n m m tăngờ ả ấ ầ ề
 Khó khăn cho vi c b o trì và nâng c p ph n m m.ệ ả ấ ầ ề
9
IV.ENTITY FRAMEWORK GIẢI QUYẾT
NHỮNG KHÓ KHĂN NHƯ THẾ NÀO?
 V i vi c truy v n d li u thông qua Entity Dataớ ệ ấ ữ ệ
Model
 L p Data Access (N-Tier), Model (MVC,MVP) đã đ cớ ượ
Entity Framework h tr ng i l p trình ch t pỗ ợ ườ ậ ỉ ậ
trung vào nghi p v khác hàng (buisiness rule) vàệ ụ
giao di n ng i dùng.ệ ườ
 D dàng chuy n đ i sang h qu n tr c s dễ ể ổ ệ ả ị ơ ở ữ
li u khác.ệ
 Khi thay đ i c u trúc database ch c n ánh x l iổ ấ ỉ ầ ạ ạ
EDM.
 Nh ng l i do thay đ i c u trúc database đ cữ ỗ ổ ấ ượ
phát hi n ngay lúc biên d ch ch ng trình (Tránhệ ị ươ
đ c l i ti m n).ượ ỗ ề ẩ 10
IV.ENTITY FRAMEWORK GIẢI QUYẾT
NHỮNG KHÓ KHĂN NHƯ THẾ NÀO?
 Ng i l p trình ch c n bi t LINQ là có th truyườ ậ ỉ ầ ế ể
v n d li u không c n ph i bi t nhi u v c uấ ữ ệ ầ ả ế ề ề ấ
trúc SQL query, đ c đi m c a m i h qu n tr cặ ể ủ ỗ ệ ả ị ơ
s d li u.ở ữ ệ
 V i LINQ chúng ta có th chia các th t c SQLớ ể ủ ụ
ph c t p ra thành nhi u hàm, bi n l u tr dứ ạ ề ế ư ữ ữ
li u (Entity Object) theo ch c năng. Nh đó quáệ ứ ờ
trình Debug, b o trì, nâng c p đ c đ c th cả ấ ượ ượ ự
hi n d dàng h n.ệ ễ ơ
11
V. KẾT LUẬN
 V i nh ng tính năng Entity Framework cung c pớ ữ ấ
đ ng th i giúp chúng ta kh c ph c nh ng khóồ ờ ắ ụ ữ
khăn hi n t i.ệ ạ
S d ng Entityử ụ
Framework đ phátể
tri n ph n m mể ầ ề
12
VI.DEMO
13
THANK YOU!
14

More Related Content

What's hot

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
Dân Chơi Khu Phố
 
Tài liệu lập trình PHP từ căn bản đến nâng cao
Tài liệu lập trình PHP từ căn bản đến nâng caoTài liệu lập trình PHP từ căn bản đến nâng cao
Tài liệu lập trình PHP từ căn bản đến nâng cao
ZendVN
 
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPTBài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
MasterCode.vn
 
Tương tác người-máy
Tương tác người-máyTương tác người-máy
Tương tác người-máy
Alice_Stone
 
luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
 luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
freeloadtailieu
 
Tin học cơ sở - FPT Polytechnic
Tin học cơ sở - FPT PolytechnicTin học cơ sở - FPT Polytechnic
Tin học cơ sở - FPT Polytechnic
minhvnnxyz18
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
Hoài Phạm
 
Thuật giải di truyền
Thuật giải di truyềnThuật giải di truyền
Thuật giải di truyền
Võ Tâm Long
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
Ly hai
 
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
The Nguyen Manh
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Nguyễn Danh Thanh
 
Tìm hiểu về Joomla
Tìm hiểu về Joomla Tìm hiểu về Joomla
Tìm hiểu về Joomla
Lương Bá Hợp
 
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
nataliej4
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
The Nguyen Manh
 

What's hot (20)

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Tài liệu lập trình PHP từ căn bản đến nâng cao
Tài liệu lập trình PHP từ căn bản đến nâng caoTài liệu lập trình PHP từ căn bản đến nâng cao
Tài liệu lập trình PHP từ căn bản đến nâng cao
 
Kỹ thuật số
Kỹ thuật sốKỹ thuật số
Kỹ thuật số
 
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPTBài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
Bài 5 Lập trình PHP (phần 3) Làm việc với dữ liệu của form - Giáo trình FPT
 
Tương tác người-máy
Tương tác người-máyTương tác người-máy
Tương tác người-máy
 
luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
 luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
luu-do-thuat-toan-dieu-khien-thang-may-va-bang-quy-dinh-i-o-trong-plc
 
Tin học cơ sở - FPT Polytechnic
Tin học cơ sở - FPT PolytechnicTin học cơ sở - FPT Polytechnic
Tin học cơ sở - FPT Polytechnic
 
C++ PTIT
C++ PTITC++ PTIT
C++ PTIT
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Thuật giải di truyền
Thuật giải di truyềnThuật giải di truyền
Thuật giải di truyền
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Báo cáo
Báo cáoBáo cáo
Báo cáo
 
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
 
C2 1
C2 1C2 1
C2 1
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Do hoa may tinh
Do hoa may tinhDo hoa may tinh
Do hoa may tinh
 
Tìm hiểu về Joomla
Tìm hiểu về Joomla Tìm hiểu về Joomla
Tìm hiểu về Joomla
 
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
Giáo Trình Lịch Sử Các Học Huyết Pháp Lý
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
 

Viewers also liked

Mixing asp.net mvc & web form into hybrid project
Mixing asp.net mvc & web form into hybrid projectMixing asp.net mvc & web form into hybrid project
Mixing asp.net mvc & web form into hybrid project
Minh Tri Lam
 
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
Minh Tri Lam
 
Secure coding guide lines (Web Sercurity)
Secure coding guide lines (Web Sercurity)Secure coding guide lines (Web Sercurity)
Secure coding guide lines (Web Sercurity)
Minh Tri Lam
 
Digital library opensource
Digital library opensourceDigital library opensource
Digital library opensource
Minh Tri Lam
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Minh Tri Lam
 
Joomla CMS framework (1.6 - Old version)
Joomla CMS framework (1.6 - Old version) Joomla CMS framework (1.6 - Old version)
Joomla CMS framework (1.6 - Old version)
Minh Tri Lam
 
Digital library standard and technology
Digital library standard and technologyDigital library standard and technology
Digital library standard and technology
Minh Tri Lam
 
Hướng dẫn lập trình với SCSF phần II(smart client software factory)
Hướng dẫn lập trình với SCSF phần II(smart client software factory)Hướng dẫn lập trình với SCSF phần II(smart client software factory)
Hướng dẫn lập trình với SCSF phần II(smart client software factory)
Minh Tri Lam
 
SQL SERVER BUSINESS INTELLIGENCE & WINDOWS SERVICE
SQL SERVER BUSINESS INTELLIGENCE  & WINDOWS SERVICESQL SERVER BUSINESS INTELLIGENCE  & WINDOWS SERVICE
SQL SERVER BUSINESS INTELLIGENCE & WINDOWS SERVICE
Minh Tri Lam
 
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐKHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
Minh Tri Lam
 
Nunit framework for .NET application
Nunit framework for .NET applicationNunit framework for .NET application
Nunit framework for .NET application
Minh Tri Lam
 
Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)
Minh Tri Lam
 
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
Vai trò của Jenkins trong mô hình phát triển phần mềm AgileVai trò của Jenkins trong mô hình phát triển phần mềm Agile
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
Minh Tri Lam
 
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
SINGLE SIGN ON (SSO)  WITH SECURITY ASSERTION  MAKUP LANGUAGE (SAML)SINGLE SIGN ON (SSO)  WITH SECURITY ASSERTION  MAKUP LANGUAGE (SAML)
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
Minh Tri Lam
 
DBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLEDBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLE
Minh Tri Lam
 
Giới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS FrameworkGiới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS Framework
hocwebgiare
 
Bootstrap Framework
Bootstrap Framework Bootstrap Framework
Bootstrap Framework
Yaowaluck Promdee
 
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPTBÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
MasterCode.vn
 
İhs telekom halkbank mdm
İhs telekom halkbank mdmİhs telekom halkbank mdm
İhs telekom halkbank mdmMustafa Kuğu
 

Viewers also liked (20)

Mixing asp.net mvc & web form into hybrid project
Mixing asp.net mvc & web form into hybrid projectMixing asp.net mvc & web form into hybrid project
Mixing asp.net mvc & web form into hybrid project
 
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
MSSQL SERVER 2008 REPLICATION (PEER TO PEER)
 
Secure coding guide lines (Web Sercurity)
Secure coding guide lines (Web Sercurity)Secure coding guide lines (Web Sercurity)
Secure coding guide lines (Web Sercurity)
 
Digital library opensource
Digital library opensourceDigital library opensource
Digital library opensource
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
 
Joomla CMS framework (1.6 - Old version)
Joomla CMS framework (1.6 - Old version) Joomla CMS framework (1.6 - Old version)
Joomla CMS framework (1.6 - Old version)
 
Digital library standard and technology
Digital library standard and technologyDigital library standard and technology
Digital library standard and technology
 
Hướng dẫn lập trình với SCSF phần II(smart client software factory)
Hướng dẫn lập trình với SCSF phần II(smart client software factory)Hướng dẫn lập trình với SCSF phần II(smart client software factory)
Hướng dẫn lập trình với SCSF phần II(smart client software factory)
 
SQL SERVER BUSINESS INTELLIGENCE & WINDOWS SERVICE
SQL SERVER BUSINESS INTELLIGENCE  & WINDOWS SERVICESQL SERVER BUSINESS INTELLIGENCE  & WINDOWS SERVICE
SQL SERVER BUSINESS INTELLIGENCE & WINDOWS SERVICE
 
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐKHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
KHẢO SÁT NHU CẦU QUẢN LÝ SỬ DỤNG VÀ CHIA SẺ TÀI NGUYÊN SỐ
 
Nunit framework for .NET application
Nunit framework for .NET applicationNunit framework for .NET application
Nunit framework for .NET application
 
Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)Jenkins (Continuous Integration System with Jenkins)
Jenkins (Continuous Integration System with Jenkins)
 
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
Vai trò của Jenkins trong mô hình phát triển phần mềm AgileVai trò của Jenkins trong mô hình phát triển phần mềm Agile
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
 
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
SINGLE SIGN ON (SSO)  WITH SECURITY ASSERTION  MAKUP LANGUAGE (SAML)SINGLE SIGN ON (SSO)  WITH SECURITY ASSERTION  MAKUP LANGUAGE (SAML)
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
 
DBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLEDBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLE
 
Giới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS FrameworkGiới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS Framework
 
Apex ace update
Apex ace updateApex ace update
Apex ace update
 
Bootstrap Framework
Bootstrap Framework Bootstrap Framework
Bootstrap Framework
 
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPTBÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
BÀI 3 Bố cục trang web & bảng (TABLE) trên trang web - Giáo trình FPT
 
İhs telekom halkbank mdm
İhs telekom halkbank mdmİhs telekom halkbank mdm
İhs telekom halkbank mdm
 

Similar to ADO .NET Entity framework

Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng CaoBài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Tuan Nguyen
 
Linq to-sql-1221970293242272-9
Linq to-sql-1221970293242272-9Linq to-sql-1221970293242272-9
Linq to-sql-1221970293242272-9
m22m
 
Silverlight chapter 1
Silverlight chapter 1Silverlight chapter 1
Silverlight chapter 1
hthuyet
 
Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35
TechMaster Vietnam
 
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hìnhHướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
key Pham
 
429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf
ToNguyen16
 
Android program 6167
Android program 6167Android program 6167
Android program 6167
PhongSPKT
 
CVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViCVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViLam Nguyen
 
Sof301 slide1
Sof301   slide1Sof301   slide1
Sof301 slide1
tonguyencntt
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 
Tudonghoale
TudonghoaleTudonghoale
TudonghoaleVu Le
 
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11:  JSF-1 - Lập Trình Mạng Nâng CaoBài 11:  JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
Tuan Nguyen
 
Ltgd ch01
Ltgd ch01Ltgd ch01
Ltgd ch01
neopet001
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
Phương Nhung
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
MasterCode.vn
 

Similar to ADO .NET Entity framework (20)

Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng CaoBài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
 
Linq to-sql-1221970293242272-9
Linq to-sql-1221970293242272-9Linq to-sql-1221970293242272-9
Linq to-sql-1221970293242272-9
 
Silverlight chapter 1
Silverlight chapter 1Silverlight chapter 1
Silverlight chapter 1
 
Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35
 
04 de cuong
04 de cuong04 de cuong
04 de cuong
 
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hìnhHướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
Hướng dẫn-cài-đặt-để-sữ-dụng-enterprise-architect-để-thiết-kế-các-mô-hình
 
429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf
 
Android program 6167
Android program 6167Android program 6167
Android program 6167
 
Cong nghnet
Cong nghnetCong nghnet
Cong nghnet
 
3250
32503250
3250
 
Asp.net 3.5 _1
Asp.net 3.5 _1Asp.net 3.5 _1
Asp.net 3.5 _1
 
CVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViCVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-Vi
 
Sof301 slide1
Sof301   slide1Sof301   slide1
Sof301 slide1
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
Tudonghoale
TudonghoaleTudonghoale
Tudonghoale
 
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11:  JSF-1 - Lập Trình Mạng Nâng CaoBài 11:  JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
 
Ltgd ch01
Ltgd ch01Ltgd ch01
Ltgd ch01
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 

ADO .NET Entity framework

  • 1. GI I THI U ADO.NETỚ Ệ ENTITY FRAMEWORK minhtri.itp@gmail.com1
  • 3. I. GIỚI THIỆU ENTITY FRAMEWORK Là nền tảng truy cập dữ liệu của Microsoft bao gồm một tập hợp các kỹ thuật được kế thừa và phát triển từ ADO.NET. Giúp lấp đầy khoảng cách giữa lập trình hướng đối tượng và cơ sở dữ liệu. Phiên bản đầu tiên phát hành vào tháng 7 năm 2008 như một phần của Visual Studio 2008 SP1. Entity Framework 4.1 là phiên bản mới nhất được phát hành vào tháng 7 năm 2011. 3
  • 4. II. KIẾN TRÚC  Ki n trúc c a Entity Frameworkế ủ 4
  • 5. II. KIẾN TRÚC (TT)  Ki n trúc c a Entity Frameworkế ủ I. Entity Data Model là s k tự ế h p c a 3 mô hình:ợ ủ 1. Conceptual Schema 2. Mapping Schema 3. Logical Schema Conceptual là mô hình quan ni m d li u mô t các th c thệ ữ ệ ả ự ể (entity/object) và m i quan hố ệ gi a chúng.ữ Mapping th c hi n nhi m vự ệ ệ ụ ánh x gi a mô hình quan ni mạ ữ ệ d li u và mô hình logicữ ệ Logical(Storage) Mô t cácả b ng d li u, view, procerdure vàả ữ ệ m i quan h gi a chúngố ệ ữ 5
  • 6. II. KIẾN TRÚC (TT)  Truy v n d li u nh th nào?ấ ữ ệ ư ế  Đó là câu h i đ c đ t ra c a các nhà phátỏ ượ ặ ủ tri n Entity Framework t khi xây d ng.ể ừ ự  S d ng SQL Query? N u s d ng s không hử ụ ế ử ụ ẽ ỗ tr đ c nhi u h qu n tr c s d li u.ợ ượ ề ệ ả ị ơ ở ữ ệ Ngôn ng truy v n chính đ c ch n làữ ấ ượ ọ LINQ to Entities, bên c nh đó v n h tr m tạ ẫ ỗ ợ ộ ngôn ng truy v n khác t ng t nh SQL đó làữ ấ ươ ự ư Entity SQL, ngoài ra v i EF cho phép chúng ta cóớ th g i tr c ti p m t câu l nh SQL hay m tể ọ ự ế ộ ệ ộ Procerdure t database.ừ 6
  • 7. NH NG Đ C ĐI M N I B T C A ENTITYỮ Ặ Ể Ổ Ậ Ủ FRAMEWORK  H tr cho nhi u h qu n tr c s d li uỗ ợ ề ệ ả ị ơ ở ữ ệ o MSSQL Server, Oracle, MySql, PostgreSQL, SQL Anywhere, DB2,Informix ,U2, Ingres, Progress, Firebird, Synergy, Virtuoso  T o ra mô hình chung gi a database và môạ ữ hình th c th quan h c a ng d ngự ể ệ ủ ứ ụ  Truy v n d li u thông qua Linq to Entitiesấ ữ ệ  H tr ki u d li u ph c h p (Complex Typeỗ ợ ể ữ ệ ứ ợ Support)  H tr nhi u cách đ t o ra mô hình và có thỗ ợ ề ể ạ ể hi u ch nh mô hình m t cách tr c quan (Modelệ ỉ ộ ự Browser Improvements)  Và m t s tính năng khác….ộ ố 7
  • 8. II. NH NG Đ C ĐI M N I B T C AỮ Ặ Ể Ổ Ậ Ủ ENTITY FRAMEWORK  Linh ho t trong vi c mô hình hóa d li u h ngạ ệ ữ ệ ướ đ i t ngố ượ DB Model DB Model DB Model Model First (VS 2010 and .NET 4.0) Code First (Only) (Entity Framework Feature CTP5) Database First (VS 2008 and .NET 3.5 SP1) 8
  • 9. III.NHỮNG KHÓ KHĂN HIỆN NAY  V i mô hình l p trình N- tier ng i l p trình ph iớ ậ ườ ậ ả m t khá nhi u th i gian đ thi t k Data Accessấ ề ờ ể ế ế Layer.  V i mô hình (MVC,MVP) c n khá nhi u th i gian choớ ầ ề ờ c u trúc Model.ấ  Không ki m soát đ c thay đ i gi a Database và codeể ượ ổ ữ ch ng trình(L i không phát hi n đ c).ươ ỗ ệ ượ  Kh năng chuy n đ i HQTCSDL r t khó khăn.ả ể ổ ấ  Ng i l p trình ph i hi u rõ ki n trúc và SQL Queryườ ậ ả ể ế c a t ng h qu n tr c s d li u.ủ ừ ệ ả ị ơ ở ữ ệ  Th i gian và chi phí s n xu t ph n m m tăngờ ả ấ ầ ề  Khó khăn cho vi c b o trì và nâng c p ph n m m.ệ ả ấ ầ ề 9
  • 10. IV.ENTITY FRAMEWORK GIẢI QUYẾT NHỮNG KHÓ KHĂN NHƯ THẾ NÀO?  V i vi c truy v n d li u thông qua Entity Dataớ ệ ấ ữ ệ Model  L p Data Access (N-Tier), Model (MVC,MVP) đã đ cớ ượ Entity Framework h tr ng i l p trình ch t pỗ ợ ườ ậ ỉ ậ trung vào nghi p v khác hàng (buisiness rule) vàệ ụ giao di n ng i dùng.ệ ườ  D dàng chuy n đ i sang h qu n tr c s dễ ể ổ ệ ả ị ơ ở ữ li u khác.ệ  Khi thay đ i c u trúc database ch c n ánh x l iổ ấ ỉ ầ ạ ạ EDM.  Nh ng l i do thay đ i c u trúc database đ cữ ỗ ổ ấ ượ phát hi n ngay lúc biên d ch ch ng trình (Tránhệ ị ươ đ c l i ti m n).ượ ỗ ề ẩ 10
  • 11. IV.ENTITY FRAMEWORK GIẢI QUYẾT NHỮNG KHÓ KHĂN NHƯ THẾ NÀO?  Ng i l p trình ch c n bi t LINQ là có th truyườ ậ ỉ ầ ế ể v n d li u không c n ph i bi t nhi u v c uấ ữ ệ ầ ả ế ề ề ấ trúc SQL query, đ c đi m c a m i h qu n tr cặ ể ủ ỗ ệ ả ị ơ s d li u.ở ữ ệ  V i LINQ chúng ta có th chia các th t c SQLớ ể ủ ụ ph c t p ra thành nhi u hàm, bi n l u tr dứ ạ ề ế ư ữ ữ li u (Entity Object) theo ch c năng. Nh đó quáệ ứ ờ trình Debug, b o trì, nâng c p đ c đ c th cả ấ ượ ượ ự hi n d dàng h n.ệ ễ ơ 11
  • 12. V. KẾT LUẬN  V i nh ng tính năng Entity Framework cung c pớ ữ ấ đ ng th i giúp chúng ta kh c ph c nh ng khóồ ờ ắ ụ ữ khăn hi n t i.ệ ạ S d ng Entityử ụ Framework đ phátể tri n ph n m mể ầ ề 12

Editor's Notes

  1. Nhin tren mo hinh ta de dang nhan thay EF duoc ke thua tu ADO.NET Cung cap them mọt so tinh nang de mo hinh hoa du lieu Thanh nhung thuc the dang doi tuong lien ket voi nhau thong qua cac moi quan he