Каков предпочтительный метод построения чрезвычайно легкого бизнес-объекта / DAL теперь, когда я закончил простую базу данных? - PullRequest
1 голос
/ 07 апреля 2010

Я заполнил простую базу данных для проекта. Всего 6 столов. Одна из 6 - это таблица «поиска».

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

Дайте, чтобы этот шаг был завершен. Какой самый быстрый и простой способ создания объектов POCO / BizObject, которые могут загружать данные и дочерние данные.

Вот мои КАВИТЫ.

  • Я не хочу тратить больше 30-60 минут на изучение как?
  • В POCO очень мало логики для бизнеса. Они будут в значительной степени загружать данные. Даже не нужно записывать данные.
  • Я уже знаю CSLA (до версии 3), но я чувствую, что это излишне для этого небольшого проекта.
  • Тем не менее, мне бы понравилось, если бы у объектов ROOT могли быть классы коллекций, которые содержат объекты CHILD, как в CSLA ... но опять же, без использования CSLA.
  • Пожалуйста, дайте ответ для .NET 35, но также, если я был ограничен использованием только .NET 20.
  • В идеале я мог бы просто указать инструмент на базу данных, и POCO были бы созданы.
  • БЕСПЛАТНО

Просто любопытно, что вы, ребята, используете для такого сценария.

Я понимаю, что этот вопрос субъективен, но я хочу услышать множество ответов.

Сет

Ответы [ 3 ]

2 голосов
/ 07 апреля 2010

Мой выбор - linq-to-sql, использующий sqlmetal для генерации кода из базы данных.

Sqlmetal - это инструмент командной строки, который генерирует классы для базы данных без настройки. Преимущество по сравнению с конструктором linq-to-sql заключается в том, что вы можете легко перезапустить инструмент для повторного создания классов, если у вас есть какие-либо изменения в базе данных. При использовании конструктора всегда существует риск, что код не будет обновлен в соответствии с базой данных.

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

Для .NET 3.5, LINQ-to-SQL; перетащите таблицы в контекст данных, работа выполнена. На самом деле, возможно, подойдет любая ORM, но LINQ-to-SQL - это очень быстрый способ выполнить работу, используя только инструменты MS и VS IDE.

Они не являются "чистым" POCO, сделанным таким образом (они имеют атрибуты L2S и т. Д.), Но это легко. Вы можете делать чистое POCO с L2S, но это требует немного больше усилий.

С 2.0, NHibernate. Но больше работы, так как если вы не используете дополнительные инструменты, вам придется писать классы и / или файлы отображения.

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

Используйте ORM, например nHibernate , SubSonic , Linq to SQL или Entity Framework .

Все они будут генерировать для вас классы и слой данных.

Самый быстрый для запуска и запуска будет Linq to SQL, поскольку он встроен в VS 2008 (укажите на SQL-сервер, перетаскивайте, волшебство!). текст ссылки

...