Какая технология хранения данных .NET: доступ к данным только локально и на основе веб-службы - PullRequest
0 голосов
/ 30 октября 2010

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

Мой сценарий:

например, локальное приложение, котороеможно хранить и маркировать изображения.Пользователь может выбрать, хочет ли он

  • хранить свои данные только локально
  • только на веб-основе
  • или сочетание обоих

Условия:

  • Без дополнительной установки локального сервера БД
  • Пользователь может загружать выбранные части своих локальных данных, чтобы сделать их общедоступными для других пользователей
  • Другие пользователи могут добавлять эти данные в свой локальный репозиторий.
  • Позже должна появиться такая возможность.подтверждает загрузку до того, как она станет общедоступной => WWF

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

Меня интересует:

  • LINQ
  • WCF
  • WWF

Облако может быть вариантом, но я бы предпочел службу wcf для доступа к данным (по крайней мере, я думаю, что я предпочитаю это:)

Технологии, которые я видел: XLinq, Entity Framework, hibernate, Linq to ..., службы данных WCF, SQLite с Linq, веб-службы, Entity SQL ... какого черта

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

Вы сделаете мой день, если вы могли бы указать мне в правильном направлении.СПАСИБО !!!

Ответы [ 2 ]

0 голосов
/ 30 октября 2010

Возможно, вы захотите рассмотреть SQL Server 2008 на сервере и SQL Server Compact на локальном компьютере.Каждая из них оптимизирована для такой среды, и предлагаемые ими функции хранения и управления данными очень похожи.Абстрагироваться от механизма доступа из вашего кода, как предлагает jasper, должно быть чрезвычайно легко с этой парой технологий.

SQL Server Compact - это встроенный механизм базы данных, который работает в вашем приложении и устанавливается вместе с ним как«одна DLL», и не требует отдельной установки сервера базы данных.

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

0 голосов
/ 30 октября 2010

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

Решите, какие методы вам понадобятся SaveData,LoadData,GetSavedDataList,DeleteItem ..., затем создайте интерфейс IStorage.Таким образом, вы можете написать ряд различных решений, локальных + двоичных / удаленных + WCF, но не затрагивая ядро ​​своей прикладной логики из решения для хранения.вашей основной логике не должно быть важно, откуда она сохраняет / загружает информацию.

Действительно, какое решение для хранения вы используете, решать только вам.У каждого есть свои плюсы и минусы, и никто не может дать вам 100% правильный ответ, который будет для вас лучшим.В конце дня у вас будет 3 основных задания.Хранение данных локально, передача данных на удаленный сервер, хранение данных в удаленном местоположении.

Локальное хранение может быть таким же простым, как хранение XML-файла для метаданных и двоичных файлов для изображений.Вы говорите, что не хотите устанавливать локальную БД, это механизм БД или какое-либо решение БД, можно ли будет использовать что-то вроде MsAccess / SQL CE и т. Д., Поскольку это сделает общий дизайн немного лучше?

Для вашего удаленного хранилища вы можете написать веб-сервис, который передает объект с данными изображения, тегами и т. Д., Ваша локальная система не должна знать ничего другого, если вы хорошо разрабатываете свой код с хорошей абстракцией / развязкой и имеетевеб-сервис (на стороне сервера), сохраните данные в базе данных, используя LINQ.

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

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