2010-09-24 3 views
2

Я хотел бы знать, какие лучшие методы для запросов к базе данных. Я использую C#, базу данных mysql.Каковы наилучшие методы для запросов к базе данных?

У меня есть одно приложение, в котором я жестко закодировал все запросы к базе данных. Теперь клиент изменил структуру базы данных. Поэтому я должен снова изменить эти запросы, и поскольку все запросы внутри кода, мне нужно протестировать приложение, создать его, создать установщик и сделать еще много вещей, связанных с развертыванием.

Как избежать таких проблем? Где мы будем хранить наши запросы? В каком-то текстовом файле или внутри app.config или где-то еще?

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

Мы не используем хранимые процедуры и рамки ORM.

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

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

Еще раз спасибо.

+1

«Мы не используем хранимые процедуры» почему нет? –

+0

@ GôTô, мы не используем хранимые процедуры, потому что это решение пришло от высшего руководства .... – Shekhar

ответ

4

Мы также не используем хранимые процедуры и рамки ORM.

Это были ваши реальные возможности. Если вы не используете их, вам не повезло.

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

  • Изменения в базе данных должны быть обсуждены и согласованы со всеми вовлеченными сторонами
  • Каждая сторона, участвующая должны быть уведомлены об изменениях в базе данных заранее, чтобы иметь время, чтобы реагировать на них
+0

@Shekhar, я согласен с @Developer Art. Звучит для меня, как организация заперла вас на ** не ** лучшие практики. – Brad

+0

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

0

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

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

Другой способ - хранить хранимые процедуры, выполнять всю работу в базе данных и просто вызывать хранимую процедуру для выполнения этой работы.

Но все же это все еще может быть изменено.

1

Хранимые процедуры решают большинство из этих проблем. Адекватное планирование схемы (до), также помогает компенсировать его.

Другой способ - иметь API-интерфейс базы данных, который вызывает ваша программа. Отделите все и получите доступ к нему через общую библиотеку модели.

0

Вы могли бы добавьте уровень доступа к данным в свой проект, а затем добавьте наборы данных на уровень доступа к данным. Файлы данных (.xsd) помогут вам организовать ваши запросы. Вы сможете добавить все запросы к набору данных, и это будет ваш единственный магазин для редактирования/удаления или добавления новых запросов. Например: пожалуйста, перейдите по следующей ссылке

http://www.shiningstar.net/aspnet_articles/DataSet/DataSetProject6.aspx

Смежные вопросы