1

G'day,我对Azure相当新鲜,因此对我这么裸露 - 作为免责声明,我警告说可能存在格式错误的理解,希望不会,但希望不会也许。带有现有数据库的Azure移动服务(无模式更改)

现状:

存在对客户的Windows设备(不RT)部署在现有的Windows VB时间表应用程序。此应用程序创建本地SQL Express存储并通过SQL数据同步与Azure SQL DB同步。

Azure SQL DB进一步与主数据库(也通过SQL数据同步)进行同步,该数据库存储在本地签约的位置,主数据通常仅在此主数据库中更改,事务数据是同步的数据蔚蓝。

应用程序使用的表都在dbo模式下。

我正在创建一个使用指向的Azure移动服务的应用程序(罗尼,但你明白了)的Xamarin Forms移动版(iOS,WP8,Droid,或许winRT,使用PCL)版本Azure SQL DB。它现在只使用这些功能的一个子集。

问题:

现在的问题(因为它可能是很明显的话)是,我需要访问大多数的表,这是dbo架构下,我希望/想知道是什么最好的做法是解决这个问题。

如果我能指出我的Azure移动服务使用dbo架构,并为生成的登录手动/脚本编写适当的权限。这是我的表迁移所需要的,以便将所需的系统属性包括在第四位。

另一个建议是将azure移动服务同步操作所需的系统列添加到主数据库,将它们推送到azure数据库,然后在移动服务模式中创建所有必需数据的视图。我不知道这是否会对服务造成任何限制。

当然,将所有数据移动到除dbo以外的模式的选项总是可行的 - 但是这需要在其他系统上进行扩展工作,这可能会消耗大量时间,特别是由于我不熟悉它们。

任何有关的信息,讨论或建议将深受赞赏。

干杯。

回答

0

可能您最好的选择是为您的数据库创建Azure移动服务系统属性。在Azure移动服务,有需要的五个具体领域:

  • ID - 应该是唯一的字符串 - 使用GUID这里
  • __version好主意 - 让AMS解决这个问题,默认/空允许
  • __createdAt - 通常在插入在SQL服务器自动生成
  • __updatedAt - 让AMS处理这个
  • __deleted - 除非记录被删除应该是假的(软删除支持)

这些都是在.NET SDK中的EntityData类中定义的。您可以为现有记录执行一次性的一组值,然后让AMS SDK从此开始处理它。

相关问题