使用Xamarin,如果要使用Azure的MobileServiceClient
类与SQL database
上存储的Azure Portal
进行通信,则必须在Azure门户中使用Azure的Easy Tables
软件最初设置SQL表,还是可以独立创建它们(例如使用Microsoft SQL Server Management Studio 2017)?
答案 0 :(得分:2)
如果您想使用Azure的MobileServiceClient类与存储在Azure门户上的SQL数据库进行通信,那么您必须在Azure门户中使用Azure的Easy Tables软件来初始设置SQL表
不,您可以在不使用简易表的情况下使用自己的数据库。
我首先应该告诉你C#后端和Node.js后端的区别。
在Node.js bakcend中使用了Easy table。
如果您创建Node.js后端,azure将自动创建Node.js后端而不进行部署。
它会自动将sql数据库表绑定到easy table。
如果您不想使用easytable,您可以使用自己的逻辑移动客户端来调用它。
但是如果你使用C#后端,azure就不会将表绑定到easy表。
因为,C#后端使用EF codefirst来创建表。如果请求发送到后端,EF将自动创建表。
您可以使用azure移动客户端库InvokeApiAsync方法直接调用后端方法。
C#代码如下:
public static async Task<string> GetApplicationToken()
{
var clientUri = $"https://your-mobile-app-id.azurewebsites.net";
var client = new MobileServiceClient(clientUri);
var response = await client.InvokeApiAsync<string>("/api/values", HttpMethod.Get, null);
return response;
}
目前我的SQL数据库有一些Easy Table,但是我正在将我的MySQL数据库移到Azure上,并希望(如果可能的话)通过SQL Server management studio 17导入我的表,然后配置他们使用Easy Tables,这是可行的还是实用的?
如果在移动数据后使用node.js后端。您只需在简易表中添加如下表格。
如果您在移动数据后使用C#后端。您应该创建自己的类并继承EntityData类。
如果继承EntityData类,则可以使用多个azure移动服务器库方法。
像这样:
控制器: