Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ADO .NET Entity framework

2,138 views

Published on

ADO .NET Entity framework

Published in: Software
  • Be the first to comment

ADO .NET Entity framework

  1. 1. GI I THI U ADO.NETỚ Ệ ENTITY FRAMEWORK minhtri.itp@gmail.com1
  2. 2. NỘI DUNG 2
  3. 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. 4. II. KIẾN TRÚC  Ki n trúc c a Entity Frameworkế ủ 4
  5. 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. 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. 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. 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. 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. 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. 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. 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
  13. 13. VI.DEMO 13
  14. 14. THANK YOU! 14

×