2010-04-26 3 views
0

Если вам нужно извлечь данные из базы данных и донести этот набор данных до клиента, а затем разрешить пользователю манипулировать данными различными способами, прежде чем обновлять базу данных снова, что такое хороший класс для этого, если таблицы данных не будут иметь отношения 1: 1 с объектами класса?Конструкция класса при работе с набором данных

Вот некоторые я придумал:

  1. Просто манипулировать сам DataSet на клиенте, а затем отправить его обратно в базу данных, как есть. Это будет работать, хотя очевидно, что код будет очень грязным и неструктурированным.

  2. То же, что и # 1, но оберните код набора данных вокруг классов. Я имею в виду, что у вас может быть класс, который принимает набор данных или datatable в своем конструкторе, а затем предоставляет общедоступные методы и свойства для упрощения кода. Внутри этих методов и свойств он будет считывать или манипулировать набором данных. После этого обновление базы данных будет проще, потому что у вас уже есть обновленный набор данных.

  3. Избавьтесь от набора данных полностью на клиенте, преобразуйте его в объекты, а затем конвертируйте обратно в набор данных при необходимости обновления базы данных.

Есть ли хорошие ресурсы, где я могу найти информацию по этому вопросу?

ответ

0

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

С помощью некоторого кода вы можете использовать такое решение, но оно по-прежнему «грязно». Я обнаруживаю силу ORM (объектно-реляционные сопоставления), и вы можете взглянуть на NHibernate, Fluent Hibernate и другие.

0

Есть инструменты, которые делают это автоматически для вас, как nHibernate или сущность.

Чем больше проект, тем лучше работать с классами. (переместите данные и наш собственный код или один из вышеперечисленных инструментов)

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