Есть ли лучший способ получить данные, сохраненные локально? - PullRequest
1 голос
/ 26 января 2012

В 2009 году я начал переписывать одно из наших самых старых приложений на VB6.Я начал с написания службы WCF, которая находится в .NET 3.5, для извлечения данных из нашей базы данных SQL Server 2005 и их сохранения там.У меня есть аналогичный компонент COM +, который я написал в VB6, который передавал данные по сети в виде массивов.В 2009 году я думал, что вместо этого буду использовать ADO.NET DataSets.

Перенесемся через 3 года.Как это и случилось, хотя я начал этот проект в 2009 году, другие неотложные проекты и проблемы всегда отодвигали его на второй план.Теперь я пытаюсь забрать, где я остановился.Наша цель - извлечь данные из серверной базы данных SQL Server, а затем сохранить их локально в базе данных SQL Express.

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

Это круто, вся идея использования LINQ против объектов-сущностей и т. Д. Но, чувак, я изо всех сил пытаюсь найти способ быстрого кодирования передачи данных из наборов данных, возвращенных моей старой службой WCF., к локальным классам сущностей.Я мог бы разграничить каждый столбец в каждой таблице из возвращенных наборов данных / таблиц данных, но ВАУ, это много работы!

Есть ли более быстрый способ сделать это?

1 Ответ

1 голос
/ 26 января 2012

Попробуйте использовать Automapper для этого.Automapper может отображать с IDataReader, так что вы можете сделать что-то вроде этого:

Mapper.CreateMap<IDataReader, YourEntity>();
Mapper.Map<IDataReader, IList<YourEntity>>(dataTable.CreateDataReader());

Если поля вашей сущности соответствуют столбцам DataTable, это должно быть все, что вам нужно сделать, но Automapper позволяетболее расширенная конфигурация отображения, если вам это нужно.

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