Можно ли использовать уровень доступа к данным, используя только SqlConnection SqlCommand и SqlDataReader - PullRequest
3 голосов
/ 10 февраля 2010

Я знаю, что в настоящее время есть много готовых вещей, которые вы можете использовать, но если вам нужен полный контроль над запросами / запросами БД и лучшая производительность, я думаю, что это путь. Кроме того, поскольку ADO.NET автоматически создает пул соединений для SqlConnection, как вы думаете?

Ответы [ 7 ]

5 голосов
/ 10 февраля 2010

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

На самом деле, я сейчас занимаюсь созданием системы отчетности, которая использует SQL, DataReaders и SQLConnections, потому что все, что она делает, - это SQL. Кубы OLAP не совсем лучшие кандидаты в OR мапперы.

3 голосов
/ 10 февраля 2010

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

2 голосов
/ 10 февраля 2010

Если вам нужна лучшая производительность, это нормально. Это дает вам больше контроля и лучшую производительность. Кстати, вот статья о вещах, которые вы должны учитывать, которые влияют на производительность при использовании ADO.NET: Как код доступа к данным влияет на производительность базы данных

2 голосов
/ 10 февраля 2010

Да, вы правы, у него лучшая производительность, но вы должны рассмотреть все вопросы, прежде чем принимать решение, есть инструменты ORM, которые могут контролировать все ваши уровни доступа к данным, и они просто хороши в производительности.

2 голосов
/ 10 февраля 2010

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

Лично я предпочитаю использовать упомянутые вами инструменты, потому что мне нравится более тонкий контроль. Я использую компоненты перетаскивания только для очень простых задач, и, эй, теперь есть динамические данные для этих задач.

1 голос
/ 10 февраля 2010

Вы также можете заглянуть в Enterprise Library. Он использует основные объекты ADO.Net, минимизируя код, необходимый для выполнения этих вызовов в вашем коде.

1 голос
/ 10 февраля 2010

Да, я думаю, что все в порядке! Лично мне нравится иметь полный контроль, чтобы точно определить, как происходит взаимодействие с БД, и дать вам абсолютный контроль над настройкой / оптимизацией производительности.

Просто хотел добавить, что, конечно, SqlDataAdapters и DataTables также могут иметь свое место, особенно если вы хотите передавать разъединенные данные.

...