我的目标是开发一个从同一个数据库共享数据的Web应用程序和移动应用程序。 实现这一目标的最佳方法是什么(使用azure)?
我想我应该:
然后我将开发我的ASP.net MVC项目,使用Entity Framework创建db Schema,然后我将在Azure中发布它。 最后,我将开发我的移动应用程序(在这种情况下,我想使用Xamarin),然后我将使用Easy Tables的代码访问数据库(之前创建)。
是不是?或者我认为错了,这不是使用Azure在Web应用程序和移动应用程序之间共享同一数据库的最佳架构吗?
答案 0 :(得分:0)
如果您想开发网站和移动应用程序共享同一个数据库,那么这是一个不错的选择。
答案 1 :(得分:0)
Azure Mobile Apps是一个简单的旧ASP.NET应用程序或Node.js应用程序。 Easy Tables只是Node.js版本数据的投影。如果您使用的是ASP.NET,那么您就不会获得Easy Table。
话虽如此,将Azure Mobile Apps SDK添加到现有的Web应用程序相对容易。
1)将代码从App_Start\Startup.MobileApp.cs
和Startup.cs
复制到您的ASP.NET应用
2)确保您的所有模型都继承自EntityData
,以便他们能够随时待命?#34;。如果您的模型已有自动递增标识列,请参阅https://shellmonger.com/2016/05/11/30-days-of-zumo-v2-azure-mobile-apps-day-19-asp-net-table-controllers/了解解决方法
3)用于移动数据库表投影的脚手架Azure移动应用程序表控制器。
您可以在MVC控制器和移动控制器上使用相同的模型。如果您的应用使用AJAX调用来获取数据,则可以使用适用于Azure移动应用的JavaScript SDK替换这些AJAX调用,这样您就不必复制内容。
您必须要处理的主要地方是auth的集成。大多数MVC应用程序使用Identity数据库,因为它们是从一个现有的MVC模板中扩展出来的。您将需要实现自定义移动身份验证机制来重用数据库。您可以在azure.com HOWTO文档中找到相关信息。