What is a difference between Entity Framework and ADO.NET?
Experience Level: Medior
Tags: .NETDatabasesEntity FrameworkORMPerformance
Answer
- EF is built on top of ADO.NET
- EF is ORM (object relational mapping) and brings the advantages the ORM normally brings.
- EF makes things comfortable when working with databases.
- EF helps you to work with strongly-typed represenation of data objects/enities.
- EF is providing a higher level of abstraction to work with data, isolating the app developer from the underlying data model
- EF aims to help you to be more productive, write less data access code, write data access layer faster with less lines of code
- If the primary criteria is raw performance, go for ADO.NET and and write efficient hand-optimized SQL.
- When you are using EF, you can always fine tune specific queries or data operations, without losing the abstraction that makes programming easier on the non-performance-critical code, which is the largest part of any business aplication.
- EF can be a performance killer if not used properly - always check your queries in profiler
Related Entity Framework job interview questions
What advantage and disadvantage has eager loading and lazy loading in Entity Framework?
Entity Framework Junior