W
W
wol2for2016-12-25 00:52:35
.NET
wol2for, 2016-12-25 00:52:35

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

4 answer(s)
O
OnYourLips, 2016-12-25
@wol2for

DBAL(ADO.net) should be used for complex reports, with queries for hundreds of rows, when performance is bottleneck.
В остальных 99.999% случаях - ORM (EF).

I
IlyaMS, 2016-12-30
@IlyaMS

EF (особенно с CodeFirst) позволяет разрабатывать БД и логику работы с ней быстрее и на C# (практически не залезая в SQL). Кроме того, благодаря миграциям обеспечивается консистентное состояние структуры БД (Петя и Вася не смогут поменять что-то в базе, не получив конфликта в системе контроля версий при мердже). Из минусов - ограничения, которые EF накладывает на ваши возможности (ADO в этом плане более низкоуровневое => более мощное средство), а также неоптимальность и нечитабельность SQL-кода, который EF генерирует в ответ на ваш красивый и понятный код с использованием LINQ (достаточно залезть в то, что генерит EF на любой среднестатистический нетривиальный запрос с несколькими связанными сущностями - и ужаснуться).

D
Dmitry Gavrilenko, 2016-12-25
@Maddox

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)

D
Dmitry Filandor, 2017-01-06
@LifeAct

в зависимости от задач... EF конечно более мощный, гибкий, но и тяжеловесный... на хабре выкладывали тесты его не высокой производительности. Я все новые проекты на dapper делаю, и скорость айс и все просто.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question