ADO.NET Entity Framework лучше, чем метод, который я использую? - PullRequest
0 голосов
/ 09 марта 2011

Я немного прочитал об ADO.NET Entity Framework, но кое-что мне не хватает.Прямо сейчас (не используя EF, не уверен, как называется этот метод, просто ADO.NET?), Мы храним все процедуры в базе данных, таким образом, если нам нужно что-то изменить, нам нужно просто перейти в базу данных и изменить запрос,довольно легко (кроме того, что у меня есть сотни запросов).

Если я правильно использую EF, я могу выполнять запросы проще (нет объединений, более короткие запросы), но все сохраняется в модели данных сущностей.Поэтому, если бы мне нужно было изменить запрос, мне нужно было бы запустить VS, найти местоположение и изменить запрос (который, я думаю, был бы linq-to-sql или Entity SQL для выполнения запроса)

Iпросто нужно немного прояснить EF и Entity SQL против Linq-to-SQL.

Спасибо!

1 Ответ

1 голос
/ 09 марта 2011

При использовании EF вы можете использовать несколько типов доступа к данным:

  • Enity SQL - это синтаксис, аналогичный общему SQL, но запросы находятся непосредственно в модели кода или сущности.Если вы хотите изменить запрос, вы должны перестроить и повторно развернуть приложение.
  • Linq-to-entity - Linq-запросы поверх модели сущностей.Опять же, если вы хотите изменить запрос, вы должны пересобрать и повторно развернуть приложение.
  • Выполнение хранимых процедур, импортированных в модель (также называемое импортом функции) - это просто процедура с выделенным фрагментом, представленная в вашей ObjectContext как функция .NET.EF будет обрабатывать параметры и отображение результатов.
  • Выполнение прямого SQL с помощью ExecuteStoreQuery или ExecuteStoreCommand (только EFv4).Здесь вы можете вызывать любой SQL, включая хранимые процедуры.

Таким образом, с EF у вас есть как текущий подход, так и сам EF.Более того, вызов нативного SQL через EF имеет некоторые преимущества, такие как автоматическое сопоставление с подготовленными классами.

В любом случае, то, что вы описываете, является довольно необычной ситуацией.Во многих компаниях изменение чего-либо в БД требует того же процесса, что и изменение приложения (или даже более сложного), поэтому вы не можете просто перейти и изменить хранимую процедуру в производственном процессе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...