Нужны рекомендации для уровня доступа к данным .Net для проекта короткого расписания - PullRequest
1 голос
/ 29 марта 2012

У меня есть проект WinNet .Net с коротким расписанием (около недели или около того).Я начинаю кодировать слой доступа к данным.Это не большая работа, около 20 таблиц, хранящихся либо на Sql Server, либо в локальных базах данных MS Access.Доступ к данным не является моей компетенцией, поэтому я хотел бы получить некоторые рекомендации.

Мой последний опыт был с наборами данных .Net и таблицами данных, что дает представление о том, сколько времени прошло с тех пор, как я это сделал.Я знаю, что наборы данных довольно устарели на этом этапе, и они могут определенно быть королевской болью временами.Я уверен, что Entity Framework, nHibernate, Linq2SQL, вероятно, намного лучше, и я хочу использовать лучший инструмент, но опять же, у меня есть только неделя.Если кривая обучения слишком велика, это может быть неосуществимо.Должен ли я прикусить пулю и придерживаться того, что я знаю (наборы данных), или есть лучший инструмент, который можно подобрать и реализовать довольно быстро?

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

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

Они предоставляют замечательные инструменты, такие как Object-Relational Mapping, и упрощают для нас вещи, но в некоторых случаях они излишни, и иногда правильным инструментом для работы является не «крутая новинка», а то, что проверено и верно ,

В вашем деле, учитывая, что у вас нет времени, чтобы изучать новые вещи, я действительно думаю, что лучше пойти с тем, что вы знаете

1 голос
/ 29 марта 2012

Я только что закончил писать Datalayer в POCO-классах Code-First, используя Entity Framework (бета-версия 5.1, хотя он будет работать с 4.2+).

Это означает, что вы пишете объекты вашего проекта в стандартных классах C # (кроме нескольких дополнительных аннотаций, например, какое свойство должно быть ключом), и вы получаете очень прямолинейное постоянство. Платформа Entity создает вашу базу данных SQL, настраивает все таблицы и отношения, чтобы вы могли сразу же приступить к работе со слоем доступа к данным. Чтобы сохранить или извлечь объекты, вы вызываете (автоматически созданный) контекст объекта, который выглядит как использование LINQ для извлечения объектов из списков ваших объектов (на самом деле это фактически динамическое создание SQL и запрос таблиц).

Здесь требуется немного конфигурации, но, как и выше, все просто.

См. http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx как отличный учебник

...