Самостоятельная база данных SQL (LocalDB) с приложением UWP - PullRequest
0 голосов
/ 26 мая 2020

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

Ожидаемое поведение

Пользователь нажимает кнопку (когда UWP приложение запускается), а экземпляр LocalDB запускается с подключенной базой данных. Затем пользователь подключается к этой базе данных из приложения!

Ограничения

  • клиентский компьютер не имеет LocalDB или SQLExpress установлен
  • это не может быть другая система базы данных (так как база довольно сложная, я не могу поддерживать разные системы для одного и того же приложения), я знаю, что SQLite предназначен для этого, но это не соответствует моим потребностям

Вопросы

  • Как мне создать пакет, запускающий экземпляр LocalDB с указанной c базой данных?

  • Можно ли интегрировать этот пакет в приложение UWP?

Заранее спасибо за вашу помощь.

Я нашел тысячи тем в Интернете, но только для кейсы с LocalDB уже установлены на клиентской машине.

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

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

пользователь нажимает кнопку загрузки, и вы загружаете файл XML в наборы данных и обновляете пользовательский интерфейс, вы можете использовать функции экспорта для перезаписи файла XML, если вы хотите добавить постоянство функциональность

0 голосов
/ 26 мая 2020

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

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

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

...