1 / 17

Entity Framework

Entity Framework. Object Relational Mapping – ORM Entity Framework. ORM?. Objects vs. Relations. Relational. Object-Relational Impedance Mismatch. Object-Oriented. Based on proven software engineering principles. Entry point is behaviour

marv
Télécharger la présentation

Entity Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entity Framework Object Relational Mapping – ORM Entity Framework C# kursusRohde & Schwarz

  2. ORM? C# kursus Rohde & Schwarz

  3. Objects vs. Relations C# kursus Rohde & Schwarz

  4. Relational Object-Relational Impedance Mismatch Object-Oriented • Based on proven software engineering principles. • Entry point is behaviour • Object collections and associations derived from graph theory • Based on proven mathematical principles. • Entry point is data • Data collections and associations derived from set theory C# kursus Rohde & Schwarz

  5. A Physical Data Model C# kursus Rohde & Schwarz

  6. A Class Model C# kursus Rohde & Schwarz

  7. Class Model Differences Physical Data Model C# kursus Rohde & Schwarz

  8. Benefits Of O/R Mapping C# kursus Rohde & Schwarz • Clean OO design • Hiding the relational model specifics lets the object model be more cleanly analyzed and applied. • Productivity • Simpler code as the object model is free from persistence constraints. Developers can navigate object hierarchies, etc. • Separation of concerns and specialization • Let the DB people worry about DB structure and the Object people worry about their OO models. • Time savings • The O/R mapping layer saves you from writing the code to persist and retrieve objects. O/R mapping tool vendors claim 20-30% reduction in the code that needs to be written. Writing less code also means less testing.

  9. Drawbacks Of O/R Mapping C# kursus Rohde & Schwarz • Usually commit the "Needless Repetition" deadly sin (a.k.a. DRY – "Don't Repeat Yourself“) • The table structure as well as their relations are stored both in the DB and in the mapping files used by the O/R mapper • Writing mapping files is a huge task • Needs to be updated every time the database layout is changed • Queries • Limited query capabilities… • … or performance problems on complicated queries • Some O/R mappers implement caches, lazy initialization, batch modes etc. to help avoid the performance problems

  10. Entity Framework C# kursus Rohde & Schwarz

  11. Entity Framework What is Entity Framework? Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write. http://msdn.microsoft.com/en-us/data/ef.aspx C# kursus Rohde & Schwarz

  12. Supported Databases • MS SQL Server • MySQL • SQLite • Oracle • Firebird • PostgreSQL • ... and more C# kursus Rohde & Schwarz

  13. Getting Started EF supports four development workflows: http://msdn.microsoft.com/en-us/data/jj590134 Find out which fits your conditions: http://msdn.microsoft.com/en-us/data/ee712907 C# kursus Rohde & Schwarz

  14. Installation • Pre installed with Visual Studio 2012 • Can be installed with NuGet in Visual Studio 2010 • You might need to install NuGet first... C# kursus Rohde & Schwarz

  15. Using Entity Framework • Create a mapping of your database • Entity Data Model (Model First) • Database migrations not possible (yet) • Plain Old CLR Objects (POCO) (Code First) • Database migrations possible C# kursus Rohde & Schwarz

  16. Using Entity Framework • Connect through a sub class of DbContext • Make queries using LINQ C# kursus Rohde & Schwarz

  17. Demo C# kursus Rohde & Schwarz

More Related