2010-05-09 2 views
0

Каков наилучший или предпочтительный способ хранения данных для настольного приложения .NET? Я знаю, что это может зависеть от того, как я буду использовать приложение, но я просто ищу простой и простой способ хранения данных для приложений .NET.Хранение/доступ к данным для приложения C# Windows Forms

+1

Связанные (и возможные обманы): http://stackoverflow.com/questions/2709006/ways-to-store-data-in-net, http://stackoverflow.com/questions/1419336/alternatives-of- persisting-data-using-c, http://stackoverflow.com/questions/1931015/looking-for-ideas-on-storage-of-data-on-local-disk, http://stackoverflow.com/questions/ 657220/which-the-best-data-access-framework-approach-for-c-and-net, http://stackoverflow.com/questions/1941928/best-way-to-store-data-locally- in-net-c, http://stackoverflow.com/questions/2172227/where-to-store-configs-for-simple-net-application – Aaronaught

ответ

0

Это зависит от характера данных и вашей «целевой аудитории».

Если это много данных, возможно, хранилище файлов не то, что вы хотите, и вы хотите посмотреть на хранилище, подобное базе данных.

  • Есть сервер меньше баз данных, как SQLite или SQL Server Compact
  • Вы можете использовать SQL Server Express (или Oracle Home), если вам нужно масштабировать к базе данных

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

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

Если вы хотите, чтобы пользователь мог выбирать файлы, разрешите пользователю хранить данные в My Documents, но получите точное местоположение от пользователя. Технические данные лучше сохраняются в «Локальных данных приложения» или «Изолированном хранилище».

+0

В настоящее время я хочу создавать простые приложения, такие как журнал или календарь с списком задач, и это будет для личного использования. Мне нравится идея использовать серверную базу данных для этого. Есть также приложения, которые я имею в виду, которые будут иметь некоторые выпадающие поля, однако я хотел бы иметь возможность редактировать данные в раскрывающемся списке. Не могли бы вы предложить реестр для чего-то подобного? Знаете ли вы о каких-либо хороших учебниках, которые используют C# и SQL Server Compact? На каком еще сервере меньше баз данных или вы можете предложить? Спасибо – Kory

0

Использование isolated storage.

+0

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

+0

Ну, не совсем законно копировать материалы, защищенные авторским правом, на другую веб-страницу.Кроме того, к нему привязаны документы Microsoft (и ссылка по-прежнему хороша даже более чем через 2 года) –

+0

Понял, но по-прежнему полезно по крайней мере описать некоторые из процессов (вместо того, чтобы копировать код прямо), чем просто размещение ссылки. Кроме того, хотя связь может быть хорошей сегодня, нет никакой гарантии, что она навсегда останется. Для записи единственная причина, по которой я прокомментировал этот пост, состоял в том, что мне было предложено некачественное средство обзора (из-за его содержимого только для ссылок). Дополнительную информацию см. В [this Meta post] (http://meta.stackexchange.com/a/143667/179372). – Gaffi

0

Возможно, вы найдете, что NHibernate подходит именно вам. NHibernate - это ORM, который в основном сохраняет ваши объекты в базе данных (что может быть практически любым вкусом, но SQL Server Compact Edition будет подходящим выбором для автономного настольного приложения) и создаст их для вас.

Я лично не люблю или не использую ORM, но они являются хорошо зарекомендовавшей себя и популярной технологией, и поскольку они непрозрачно инкапсулируют базовый механизм хранения/хранения данных, они делают это решение гораздо менее важным для разработчика приложений. Вы можете начать с NHibernate поверх SQL Server CE, и если SqlCe не работает по какой-либо причине, вы можете переключать базы данных, не изменяя остальную часть вашей программы.

Вам необязательно использовать NHibernate, и классы ADO.NET обеспечивают по существу ту же независимость базы данных.

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