так много вариантов доступа к данным, что использовать? - PullRequest
3 голосов
/ 22 августа 2010

Я разработчик веб-приложений asp.net и всегда использовал DAAB Enterprise Library с хранимыми процедурами для доступа к данным с 4 отдельными уровнями (уровень представления, уровень пользовательских типов, уровень бизнес-логики и уровень доступа к данным).

Мне кажется, что этот подход тратит много времени.

Я не работал с другими способами доступа к данным, но уверен, что есть много способов, которые экономят время разработки.Во время поиска я читал о них:

  1. Адаптеры данных генерируют целый DAL с хранимыми процедурами
  2. Linq с разными флагами
  3. Entity Framework
  4. Использованиеэлементы управления данными, такие как SQLDataSource и динамические данные
  5. Другие средства отображения, генераторы кода и утилиты

Так много опций и моих маленьких знаний, я запутался в принятии решения о том, какой вариант разработки мне следует принять, учитываячто моя разработка может быть быстрой, расширяемой, многократно используемой и соответствующей стандартам.Также я хочу найти способ, с помощью которого мои библиотеки кода можно использовать с другими технологиями, такими как silverlight, mvc framework, services, если мне когда-либо понадобится.

Пожалуйста, помогите мне и помогите.

спасибо

Ответы [ 3 ]

4 голосов
/ 22 августа 2010

Для доступа к реляционным базам данных, таким как SQL Server, очень полезен Object Relational Mapper (ORM).В .NET пространстве Entity Framework от Microsoft и NHibernate с открытым исходным кодом являются популярным выбором.Я настоятельно рекомендую попробовать один из них.

Entity Framework имеет поддержку конструктора стиля drag-n-drop в Visual Studio, а NHibernate имеет лучшую конфигурацию на основе кода.Я бы порекомендовал вам попробовать, какой из этих вариантов вам больше подходит.

Исходя из Enterprise Library и хранимых процедур, вы быстро найдете, насколько легко эти инструменты выполняют задачи CRUD, как, например, для более сложных обновлений и запросов.немного учиться.

3 голосов
/ 22 августа 2010

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

2 голосов
/ 22 августа 2010

Существует множество шаблонов для чтения и изучения (адаптер, репозиторий, MVP и т. Д.). Вы должны решить, какой из них работает для вас. Похоже, вы уже должным образом разбиваете свои приложения, отделяя бизнес-логику от логики пользовательского интерфейса и уровня доступа к данным в отдельный уровень. Писать программное обеспечение сложно, но вы могли бы пойти дальше и определить базовые уровни интерфейса для ваших классов, чтобы вам не приходилось переписывать один и тот же интерфейс снова и снова, тогда вы можете просто расширить этот интерфейс, добавив к доступным интерфейсам. Это сэкономит вам время.

Вы также можете посмотреть на MVC # framework или ASP.NET MVC framework от Microsoft. Что касается вашей модели хранилища, вы рассматривали NHibernate ?

Удачи.

...