Подход к выполнению хранимой процедуры в приложении .NET 4

#stored-procedures #.net-4.0

#хранимые процедуры #.net-4.0

Вопрос:

Мое консольное приложение .NET 4 должно выполнить хранимую процедуру SQL Server 2005 для извлечения требуемого набора данных. Поскольку я долгое время использовал некоторые технологии .NET1.1 или .NET2 в своей устаревшей системе и не знаком с новой технологией. Мне было интересно, рекомендуется ли какая-либо новая технология в этом сценарии? Есть некоторые термины, такие как Entity Framework 4, LINQ и т.д. … Которые приводят меня в замешательство. Надеюсь, сообщество сможет дать совет. Спасибо.

Ответ №1:

EF, LINQ — это хорошие вещи, но они также немного продвинуты. Сканировать, ходить, запускать — вот мое предложение.

Классический подход все равно будет работать — создайте класс SqlConnection, создайте SqlAdapter, задайте его командные свойства и выполните его.

Следующим шагом будет создание строго типизированного набора данных и определение в нем ваших адаптеров данных — ознакомьтесь с тем, как это работает, прежде чем переходить к EF (который основывается на концепции).

Всегда полезно изучить систему. 🙂

Комментарии:

1. @Greebo, использование System.Data.SqlClient работает для меня. Однако, просто хочу знать, упростит ли EF, LINQ обслуживание приложения в аспекте несоответствия объектно-реляционного импеданса.

2. @Stan — большинство людей даже не знают термина несоответствие импеданса. Похоже, вы достаточно квалифицированы для оценки EF, LINQ-to-SQL, NHibernate и т.д. самостоятельно. 🙂

3. Хорошо, я беру свои слова обратно — во что бы то ни стало зайдите в EF и linq! 😉 В двух словах, EF позволяет вам обойти большую часть процедур, он обрабатывает все манипуляции на уровне данных и предоставляет вам готовые объекты для использования (или, сначала написав код, вы создаете свои объекты, а БД создается для вас на основе ваших POCOs, и fluent-api позволяет использовать эту концепцию гибридно). LINQ — это язык запросов для .NET — он во многом работает как SQL, и в сочетании с EF он может самостоятельно создавать некоторые довольно элегантные вызовы доступа к данным на основе того, что вы говорите ему, что хотите.