Используя XML для хранения данных, как я могу использовать Entity Framework? - PullRequest
3 голосов
/ 11 ноября 2010

Я создаю программу, которая имеет два варианта: автономное и онлайн-хранилище.Онлайн вещи не проблема, никогда не было и, вероятно, никогда не будет.Чтобы упростить задачу, я использую Entity Framework с моей онлайновой базой данных для выполнения всех моих CRUD.

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

1) Сохранить данные.В настоящее время я думаю, что Linq to XML - это моя лучшая ставка, при которой ничего не нужно устанавливать, но есть ли способ сопоставить сущности с классами в программе, которые позаботятся о XML CRUD?данные.Я думаю, что я буду использовать Sync Framework, но опять же, без нормальной базы данных в фоновом режиме, это немного больно.

Любая помощь / совет / комментарии очень приветствуются, если есть намного прощеспособ сделать все это, пожалуйста, дайте мне знать.

1 Ответ

2 голосов
/ 11 ноября 2010

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

И я никогда не пытался использовать 1 ObjectContext для разных источников данных.Может быть, вы можете сделать что-то приятное, используя OLEDB в качестве провайдера.Я бы пошел немного по этой дороге.Но я подозреваю, что вы обнаружите, что это больше проблем, чем стоит.

Я рекомендую следовать шаблону Репозиторий .Тогда вы можете просто реализовать XMLRepository и SQLRepository.Это может означать некоторое пограничное двойное кодирование.Но запросы против XML против базы данных имеют свои собственные проблемы.Поэтому, в зависимости от ваших особенностей, я думаю, что нарушение принципа DRY может быть оправдано.

Кроме того, и я признаю, что это совершенно субъективно, мне кажется, что Entity Framework излишнереляционная модель, которая может быть легко сохранена в XML.Мне просто любопытно, если вы решили использовать LINQ-to-SQL.И если так, что убедило вас пойти по пути EF?

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