2015-11-24 8 views
1

Я искал повсюду и не смог найти ответ на этот вопрос, возможно, я искал неправильную вещь, но я думал, что должен попробовать здесь.C# - Dataset или SQL

Когда я программирую, я взаимодействую с базами данных SQL, используя SqlConnection и SqlCommand для подключения и запуска хранимых процедур. Однако я видел других, таких как мой босс (который работает в VB), используя файл Dataset.xsd, который позволяет вам создавать табличные адаптеры, с которыми вы легко можете ссылаться в коде. Я новичок в программировании, однако все обучающие программы, которые я видел в Интернете, используют метод SqlCommand, но .xsd кажется намного лучше визуализировать и использовать. Есть ли недостатки в этом методе? и почему никто не знает, кроме MSDN, ссылаясь на него?

Источник: https://msdn.microsoft.com/en-us/library/d7125bke.aspx Верхняя секция Dataset.xsd, Нижняя секция SQLCommand

(Извиняюсь, если это уже было предложено ... Похоже, что это должно быть, но я не могу найти его в любом месте)

+0

взгляд в ответ, указанному в ссылке ниже http://stackoverflow.com/questions/1083193/whats-better-dataset- or-datareader –

+1

Использование простого ado.net имеет то преимущество, что вы найдете дополнительную помощь в SO. У сильно типизированного набора данных есть некоторые преимущества, но это не реальная инфраструктура O/RM, как структура сущности, даже Linq-To-Sql намного мощнее. Также очень легко сделать неправильные вещи с помощью DataSets. Вы начнете загружать все в память вместо использования базы данных, которая может вызвать проблемы с производительностью или проблемы с синхронизацией/блокировкой. –

ответ

1

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

Причина, по которой вы найдете дополнительную информацию о соединении sql и sqlcommands, связана с производительностью. Наборы данных более раздуты, но для небольших программ они в порядке. Пока вы не запрашиваете много данных, у вас не будет никаких проблем с этим.

Надеюсь, это то, что вы ищете.

+0

Данные не менее эффективны. Они также используют ADO.NET за кулисами. Причина, по которой они могут повредить производительность, заключается в том, что их легко злоупотреблять. Вы можете начать загружать все в память, так как это удобно для всех в DataTables. Но производительность не является основной проблемой. Речь идет о автономном характере и, следовательно, проблемах синхронизации. –

1

Короткий ответ Производительность и у вас есть больше возможностей, чем файл XSD XSD фактически является стандартом для создания XML-файла

Длинный ответ:

  1. DataSet будет объект в памяти; это позволяет вам переносить несвязанный набор данных и работать с ним, - но вы понесете расходы на ведение ковша (поэтому лучше всего держать его в удобном для вас размере).

  2. Когда вы приступите к разработке, вы увидите концепцию Unit Testing, ее довольно сложно сделать модульный тест с файлами XSD.

XSD подход промах рассчитывается как ОРМ, но его на самом деле не Entity Framework