2016-08-13 4 views
2

Моя цель - разработать веб-приложение и мобильное приложение, совместно использующее данные из одной базы данных. Каков наилучший способ достичь этого (используя лазурь)?Веб-приложение и мобильное приложение с той же базой данных в Azure

Я думаю, что я должен:

  • Создание веб-приложений от Azure Portal с базой данных SQL
  • Создание мобильного приложения от Azure Portal с существующей базой данных (один я создал до того)

Затем я разработаю проект ASP.net MVC, используя Entity Framework, чтобы создать схему db, и я опубликую ее в Azure. Наконец-то я разработаю свое мобильное приложение (в этом случае я хотел бы использовать Xamarin), и я получу доступ к базе данных (созданной ранее), используя код для Easy Tables.

Правильно ли это? Или я ошибаюсь, и это не лучшая архитектура для обмена одной и той же базой данных между веб-приложением и мобильным приложением с использованием Azure?

ответ

2

Все должно быть хорошо. Имейте в виду, что сервер Azure Mobile Apps автоматически добавит некоторые системные столбцы в ваши таблицы базы данных (createdAt, updatedAt, deleted and version). Кроме того, ограничение Mobile Apps заключается в том, что имя первичного ключа должно быть вызвано id.

+0

Я не думаю, что это должно быть проблемой. Однако, как вы думаете, могли бы быть лучшие решения? – lorenzogiudici5

+0

Невозможно сказать, не зная больше о ваших требованиях - есть много решений! Azure Mobile Apps предоставляет клиенту, который упрощает доступ к данным (и использует данные в автономном режиме), отправлять push-уведомления и аутентифицировать пользователей. Вы также можете использовать клиента в веб-приложении или напрямую обращаться к базе данных. –

+0

Наконец, я использовал это решение, но, как вы мне посоветовали, у меня были проблемы с системными столбцами. Однако я решил их. – lorenzogiudici5

0

Если вы хотите разработать веб-сайт и мобильное приложение, используйте одну и ту же базу данных, это хороший выбор.

0

Azure Mobile Apps - это простое приложение ASP.NET или приложение Node.js. Easy Tables - это просто проекция данных из версии Node.js. Если вы используете ASP.NET, то вы не получите Easy Tables.

Это, как говорится, относительно легко добавить Azure Mobile Apps SDK в СУЩЕСТВУЮЩЕЕ веб-приложение.

1) Скопируйте код из App_Start\Startup.MobileApp.cs и Startup.cs из примера приложения для вашего приложения ASP.NET

2) Убедитесь, что все ваши модели наследуют от EntityData так, что они «мобильные готовы». Если ваши модели уже имеют автоинкрементный столбец Идентификатор, то см. https://shellmonger.com/2016/05/11/30-days-of-zumo-v2-azure-mobile-apps-day-19-asp-net-table-controllers/ для обходного пути

3) Scaffold Azure Mobile Apps Table Контроллеры для ваших мобильных таблиц базы данных базы данных.

Вы можете использовать те же модели как для контроллеров MVC, так и для мобильных контроллеров. Если ваше приложение использует вызовы AJAX для получения данных, вы можете заменить эти вызовы AJAX с помощью JavaScript SDK для Azure Mobile Apps, поэтому вам не нужно дублировать вещи.

Главное, на что вам придется работать, это интеграция auth. Большинство приложений MVC используют базу данных Identity, потому что они выросли из одного из существующих шаблонов MVC. Вам понадобится реализовать собственный механизм мобильного авторизации для повторного использования базы данных. Вы можете найти информацию об этом на документации azure.com HOWTO.

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