Answer the question
In order to leave comments, you need to log in
When is low-level ADO.net used, and when is Entity Framework used?
At the interview, they asked "When is the low-level ADO.net used (disconnect and connect), and when is the Entity Framework?"
Люди с опытом работы с ADO.net и EF, подсобите в этом вопросе. И, еще вопрос, в процентом соотношение, какую технологию вы чаще применяете в работе ADO.net(disconnec) или ADO.net(connect) или EF?
Answer the question
In order to leave comments, you need to log in
DBAL(ADO.net) should be used for complex reports, with queries for hundreds of rows, when performance is bottleneck.
В остальных 99.999% случаях - ORM (EF).
EF (особенно с CodeFirst) позволяет разрабатывать БД и логику работы с ней быстрее и на C# (практически не залезая в SQL). Кроме того, благодаря миграциям обеспечивается консистентное состояние структуры БД (Петя и Вася не смогут поменять что-то в базе, не получив конфликта в системе контроля версий при мердже). Из минусов - ограничения, которые EF накладывает на ваши возможности (ADO в этом плане более низкоуровневое => более мощное средство), а также неоптимальность и нечитабельность SQL-кода, который EF генерирует в ответ на ваш красивый и понятный код с использованием LINQ (достаточно залезть в то, что генерит EF на любой среднестатистический нетривиальный запрос с несколькими связанными сущностями - и ужаснуться).
I agree with both OnYourLips and @nApoBo3
OnYourLips noted that ADO is more flexible, in the sense that you can write a query of any complexity without affecting anything other than the database.
nApoBo3 also noted the fact that this choice partially depends on the "building of the development process"
Summarizing, I can add only one thing - you can work with both, but you can transfer all the logic from code to databases, to be more precise, into functions and procedures . They are convenient to call both from ADO and from EF, but in addition, they also have an object representation of the base (entities)
в зависимости от задач... EF конечно более мощный, гибкий, но и тяжеловесный... на хабре выкладывали тесты его не высокой производительности. Я все новые проекты на dapper делаю, и скорость айс и все просто.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question