2010-11-12 3 views
0

У меня есть проект от малого до среднего для работы, и я хотел использовать новые MVC 3 и Razor, но, к сожалению, мне нужно будет нажать mssql 2000, а также базу данных ms FoxPro 8 ,MVC 3 & Razor с устаревшей базой данных

Возможно, я застрял с использованием наборов данных и веб-форм ADO.Net? Какой лучший/простой способ получить типы данных в List или даже просто сделать их перечислимыми, чтобы я мог использовать foreach и т. Д. Для вывода?

Было бы лучше сопоставить каждую строку набора данных с POCO?

ответ

3

Хранилище данных, которое вы используете, не имеет ничего общего с приложением frontend. Вы могли бы прекрасно использовать ASP.NET MVC 3 с Razor в качестве интерфейса и абстрактный уровень доступа к данным в репозитории. В реализации этого репозитория вы можете использовать ADO.NET с считывателями данных, которые возвращают сильно типизированные объекты модели, «Забудьте о устаревших наборах данных». Вы можете использовать ORM, например NHibernate, для упрощения преобразования между SQL-запросами и объектами. Что касается представлений MVC, вы должны использовать модели просмотра, которые являются специфическими для каждого представления, а не для объектов модели, поступающих из репозитория. Чтобы сопоставить различные типы объектов, вы можете взглянуть на AutoMapper.

0

ADO.NET DataReaders намного быстрее, чем наборы данных. Затем внутри DataReader загрузите в POCO. Вы также можете сопоставить строки DataSet с POCO (как вы упомянули).

Есть ли причина, по которой вы не можете использовать Entity Framework?

+0

До EF 4 я попытался использовать EF для одного из наших FoxPro db, но инструмент не поддерживал его. Этого не может быть в случае с 4.0, поскольку я не пробовал это, что я помню. – JBeckton

+0

Вы можете использовать EF без инструмента, хотя в этот момент DataReaders могут стать проще в использовании. Дарин также прав, указав, что ваш выбор веб-структуры не должен соответствовать вашему выбору технологии DAL. – Shlomo

Смежные вопросы