Какой уровень доступа к данным рекомендуется сегодня для ASP.net? - PullRequest
2 голосов
/ 28 марта 2009

В настоящее время я создаю небольшой веб-сайт, на котором я записываю возникающие проблемы и отвечаю на них, чтобы другие могли их увидеть. В настоящее время я использую DAL, очень похожий на тот, который описан здесь . Сейчас я смотрю на другие модели, в частности на модели linq, использующие Linq2SQL и инфраструктуру ADO.net Entries. Я понимаю, что каким-то образом перемещаю доступ к данным на уровне кода, так как затем фильтрую, например, топлист с запросами linq. Причина, по которой я начал это делать, заключалась в том, что DAL на самом деле не синхронизировался с БД все время, и обнуляемые типы стали не обнуляемыми, когда я что-то изменил в БД. Тогда, если бы я снова импортировал таблицы в таблицу данных, мои запросы были бы потеряны.

Мой простой вопрос: если вам нужен хороший DAL для ASP.net сегодня, что бы это было? Предложения, опыт более чем приветствуются.

Ответы [ 3 ]

8 голосов
/ 28 марта 2009

Я лично предпочитаю LINQ to SQL и ADO.NET Entity Framework . Ребята из Microsoft также используют эти технологии в своих последних проектах (например, посмотрите на проект KOBE ). Таким образом, Microsoft рекомендует и эти два.

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

Другие альтернативы: NHibernate , SubSonic , различные решения ORM, такие как LLBLGen Pro .


Великие книги на эту тему:


Связанные инструменты:

  • LINQPad также является отличным способом изучения LINQ: он поставляется с 200 примерами из книги, C # 3.0 в двух словах . Нет лучшего способа почувствовать крутость LINQ и функционального программирования.
2 голосов
/ 28 марта 2009

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

  • LINQ to SQL
  • ADO.NET Entity Framework
  • NHibernate
  • SubSonic
  • Написание одного вручную:)

Мой выбор по умолчанию - LINQ to SQL. Это полностью личное предпочтение, хотя. Многие парни являются сторонниками NHibernate.

0 голосов
/ 07 апреля 2009

Я использую OPF3 для моего текущего проекта, в основном потому, что он имеет отличную поддержку Pervasive.SQL v9.5. Поддержка также фантастическая.

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