@User99

Чем работать с БД кроме Entity FrameWork в ASP.NET MVC?

Как и чем еще можно работать с БД MS SQL Server в asp.net mvc? Желательно привычный SQL, в PHP например мне очень легко и понятно SELECT * FROM TABLE WHERE ID='$recid'
никак не могу привыкнуть к EF, подскажите пожалуйста SQL подобный, или можно ли использовать SQL? в сети материалы в основном про EF.
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
1) Вкатывайтесь в EF. Оно удачнее, как минимум потому, что: сложные запросы строит за вас; ошибку сразу видно; выплевывает сразу целевой объект (в том числе и связанные - т.н. ленивая загрузка); имеет провайдеры под все мыслимые и немыслимые хранилища, сводя их к единому интерфейсу.
2) Пишите запросы вручную на EF или на EFCore
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@mletov
1) Так работали люди до появления всяких ORM
https://metanit.com/sharp/adonet/

2) EF тоже позволяет чистый sql.
Синтаксис у EF5 и EF6 различается

https://www.google.ru/search?newwindow=1&safe=stri...
Ответ написан
@dmitryKovalskiy
программист средней руки
Материлы в сети по EF потому что он модный, простой и не требует знаний SQL. Если вы хорошо разбираетесь в архитектуре БД и знаете как писать оптимальные SQL-запросы с использованием индексов и query plan-ов. То советую, как сказал mletov писать через ADO.NET.
Мой личный подход - вызов хранимых процедур с помощью SQLConnection и Dapper, позволяющий использовать асинхронность(хотя по факту - псевдоасинхронность)
Ответ написан
ADO.NET - основная технология доступа к реляционным данным в дотнете примерно с момента его появления.
EF да и пожалуй чуть менее чем все дотнетовские ORM (тот же NHibernate) работают поверх ADO.NET, это хорошо видно например в том, что можно передавать ado-шный объект подключения.
Connection strings used by the Entity Framework contain information used to connect to the underlying ADO.NET data provider that supports the Entity Framework.

https://docs.microsoft.com/ru-ru/dotnet/framework/...

так что вы должны чётко понимать, что EF оборачивает более низкоуровневый ADO.NET и вы можете пользоваться им напрямую.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы