Какой тип лучше всего подходит для хранения табличной структуры данных?

#c# #data-structures

#c# #структуры данных

Вопрос:

Я разрабатываю службу интеграции, предоставляющую для некоторых веб-приложений некоторую функциональность и сервисы.

Одним из таких сервисов является выполнение пользовательских запросов к определенной базе данных.

Существуют следующие методы: ( ExecuteScaler , ExecuteNonQuery , ExecuteTable ).

Я уже реализовал первые два. Итак, что вы предлагаете в отношении возвращаемого типа ExecuteTable ?

Мне нужна простая структура данных, демонстрирующая таблицу. Я подумал о DataTable , у вас есть какие-либо другие предложения?

Мы будем признательны за любое предложение.

Заранее спасибо.

Ответ №1:

Если табличные данные произвольны и их необходимо обрабатывать в памяти, то вы также можете выбрать DataTable — это избавит вас от множества поисков ошибок.

Если данные не нужно буферизировать в памяти, я бы использовал IDataReader и позволил потребителю извлекать данные самостоятельно.

Я должен подчеркнуть, что DataTable это никогда не было моим первым выбором API, но здесь это может быть прагматично.

Еще одним вариантом является универсальный метод, ExecuteQuery<T>(..) который заполняет данные в T экземпляры, возможно, usig что-то вроде dapper-dot-net.