C #: Что еще вы используете помимо DataSet - PullRequest
20 голосов
/ 20 августа 2008

Я чувствую себя все более неудовлетворенным с помощью парадигмы DataSet / DataTable / DataRow в .Net, в основном потому, что это часто на несколько шагов сложнее, чем я действительно хочу сделать. В случаях, когда я привязываюсь к элементам управления, DataSets в порядке. Но в других случаях кажется, что умственные издержки довольно велики.

Я немного поиграл с SqlDataReader, и, похоже, это хорошо для простых переходов через выборку, но я чувствую, что в .Net могут скрываться и другие модели, о которых полезно узнать больше. Я чувствую, что вся помощь, которую я нахожу в этом, просто использует DataSet по умолчанию. Может быть, это и DataReader действительно лучшие варианты.

Я не ищу лучший / худший анализ, просто любопытно, какие у меня есть варианты и какой у вас был опыт с ними. Спасибо!

-Эрик Сиппл

Ответы [ 13 ]

1 голос
/ 20 августа 2008

Я широко их использую, но я не использую ни одну из «продвинутых» функций, которые Microsoft действительно продвигала, когда впервые появилась платформа. Я просто использую их как списки хеш-таблиц, которые я считаю совершенно полезными.

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

Конечно, я один из странных, кто на самом деле предпочитает DataRow экземпляру объекта сущности.

0 голосов
/ 19 сентября 2008

Я НИКОГДА не использую наборы данных. Это большие тяжеловесные объекты, которые можно использовать (как кто-то здесь указал) только для «demoware». Здесь показано много отличных альтернатив.

0 голосов
/ 20 августа 2008

Я просто строю свои бизнес-объекты с нуля, и почти никогда не использую DataTable и особенно больше DataSet, за исключением первоначального заполнения бизнес-объектов. Преимуществами создания собственного являются тестируемость, безопасность типов и интеллектуальность, расширяемость (попробуйте добавить в DataSet) и удобочитаемость (если вам не нравится читать такие вещи, как Convert.ToDecimal (dt.Rows [i] ["blah"]. ToString () )).

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

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