2015-09-17 2 views
1

Я разрабатываю многопользовательское приложение базы данных Windows с использованием WPF. У меня есть следующие вопросы:Многопользовательская база данных для настольных приложений

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

    Каков наилучший подход?

  2. Должен ли я использовать ADO.Net или есть какие-либо другие подходы?

  3. Что делать, если пользователь хочет сохранить данные в облаке?

Я - разработчик хобби, и мое понимание очень примитивно.

Спасибо за любые предложения.

+0

То, как это сформулировано, немного не соответствует теме, так как речь идет о дизайне приложения, а не о конкретной реализации, но я попытаюсь дать вам несколько советов ... 1. Вы можете использовать раскрывающийся список, если у вас есть список потенциальных баз данных, к которым они могут подключаться, иначе это может быть текстовое поле. 2. ADO.NET, вероятно, является наиболее распространенным подходом, однако есть несколько других способов сделать это ... 3. У меня нет опыта в этой области, поэтому я не слишком уверен, как это сделать. – user2366842

+1

Такие требования приемлемы для «дорогостоящих» приложений.В небольших/средних проектах открытые требования уничтожают проект. , Существует много типов СУБД. Как вы думаете, вы можете поддержать их всех? Как насчет разных версий этих баз данных? Не бойтесь обучать своего клиента и говорите им, чтобы сузить сферу действия. Не только из-за развития, но и ради тестирования. – NoChance

+0

Я думаю, что у тебя это получилось на голове Эммада. Он вроде бы стал открытым. Но неужели вы думаете, что это сложно реализовать? По крайней мере, мы можем поддержать несколько крупных БД? Здесь актуальной проблемой является приложение, которое может использовать небольшая компания, которая может быть не заинтересована в анализе статистических данных, и они могут хранить ее на локальном ПК (я думаю, здесь есть XML-файл). С другой стороны, его могут использовать крупные организации, которые могут быть заинтересованы в анализе данных. Какой лучший подход здесь? Спасибо за ваше время?? – indra

ответ

0
  1. WPF - это ультрасовременная технология, созданная Microsoft. Я очень рекомендую использовать эту технологию, несмотря на то, что если вы ищете что-то более простое, менее сложное, вы можете разработать его на WinForm, который также создан Microsoft (устаревшая технология).

  2. Существует много рамок, которые дают вам удобный способ подключения вашей базы данных. Среди них вы можете найти: Entity Framework (от Microsoft) или NHibernate. Эти технологии называются ORM, которые дают вам доступ к вашей базе данных путем доступа к объекту (экземпляру) в вашем коде, который демонстрирует ваши таблицы db объектом. У вас почти нет ничего общего с вашим db, если вы правильно настроили структуру ORM. Из моего опыта, и так как вы разработчик хобби (как вы упомянули), я бы порекомендовал вам не использовать эти фреймворки. Если вы не участвуете в серийной компании со специализированными разработчиками, это может свести вас с ума, когда что-то пойдет не так. Я лично использую ADO.NET и напрямую обращаюсь к db.

  3. Если пользователи хотят сохранять данные в облаке, вы можете просто сохранить их там. Он должен использовать базу данных там, в облаке. Не позволяйте названию «облако» путать вас. Облако, которое вы собираетесь использовать, может содержать некоторую базу данных, использовать ее так же, как и для каждой базы данных. Если вы не хотите аутентифицировать своих пользователей против специального облачного сервиса, который они используют в настоящее время. Затем вы узнаете, как это облако работает с его индивидуальными услугами. Я могу сказать, что если вы собираетесь использовать Azure cloud service (например), вы можете использовать их API ADAL (с кодом C#) для аутентификации пользователей. Каждое облако и собственные службы аутентификации.

Надеюсь, это будет полезно для вас.

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