Uwp Azure移动服务离线同步能否与实体框架核心一起使用?

Uwp Azure移动服务离线同步能否与实体框架核心一起使用?,uwp,entity-framework-core,azure-mobile-services,Uwp,Entity Framework Core,Azure Mobile Services,似乎是在表实体上操作,而不是在EF中使用的POCO类。我们有一个业务应用程序,我们正在尝试移植到UWP。我们有复杂的相关数据,并且习惯于能够编辑对象图中的多个实体,并使用dbContext.SaveChanges()将它们持久化。但是,参考的文档显示了以表格为基础保存的更改 我们是否必须在使用EF Core或使用Azure移动服务离线同步之间进行选择?是否有示例代码显示EF Core与Azure移动服务脱机同步一起使用 我们有复杂的相关数据,并且习惯于能够编辑对象图中的多个实体,并使用dbCon

似乎是在表实体上操作,而不是在EF中使用的POCO类。我们有一个业务应用程序,我们正在尝试移植到UWP。我们有复杂的相关数据,并且习惯于能够编辑对象图中的多个实体,并使用dbContext.SaveChanges()将它们持久化。但是,参考的文档显示了以表格为基础保存的更改

我们是否必须在使用EF Core或使用Azure移动服务离线同步之间进行选择?是否有示例代码显示EF Core与Azure移动服务脱机同步一起使用

我们有复杂的相关数据,并且习惯于能够编辑对象图中的多个实体,并使用dbContext.SaveChanges()将它们持久化。但是,参考的文档显示了以表格为基础保存的更改

您似乎希望在脱机上下文中实现表之间的关系,并同时更新多个表。据我所知,在脱机同步世界中,同时更新多个表是行不通的。请参阅,您将发现:


Azure移动应用程序在脱机环境中使用时,有一个操作表。在对表执行每个操作时,都会在操作表中创建一个条目。然后重播操作表,以便移动后端对远程数据库进行更改。但是,这也会产生这样的效果:我们没有允许同时更新数据库中多个表的事务。每个表中的每个记录都会单独更新。脱机同步使用的推送过程对表之间关系的工作方式有重大影响。具体来说,只有单向关系才能在脱机同步世界中工作。

根据我的研究推测,mobileservicesqlitestore和dbcontext之间的集成尚未完成。。。然而这两种上下文都要求在框架中注册POCO

对于EF,POCO必须在DBContext中注册为DBSet(或从POCO派生),由EF“管理”,以实现更改跟踪、导航属性等的良好效果

对于MobileServiceSQLLiteStore,表通过

  var store = new MobileServiceSQLiteStore"localsync.db");
store.DefineTable<TodoItem>();
var store=new mobileseservicesqlitestore“localsync.db”);
store.DefineTable();
这是两个用于两个不同目的的不同框架。EF(通过EF Core)是我在移动设备(android、Uwp和IOS(?-还没有)上管理数据的首选方法。MobileServiceSQLStore需要管理POCO以记录正在进行的更改,以便管理这些更改,但无法处理对象图的复杂性

IMO需要做的是为CRUD活动连接EF事件。这是EF的主要用途之一,它跟踪整个EF图中的更改,并保持这些更改,直到完成对上下文的保存。发生保存时,将枚举这些更改,并使用底层提供程序(SQLLite、SQL Server等)执行这些更改

我们需要的是EF的MobileServiceSQLStore提供程序,它接受EF的CRUD活动,并通过MobileServiceSQLStore的要求推动在该上下文中进行的这些更改

我很想做的事情。。。但首先我必须更熟悉MobileServiceSQLStore

我知道这不是完整的答案,也可能不是100%正确,但我正在寻找1)验证这是否是继续进行的途径,2)谁有兴趣帮助

有关为EF创建提供程序的更多URL:


感谢@Fred Han-MSFT提供的信息,但EF Core能否与Azure移动服务离线同步?+1@codputer一起使用。这将在EF核心回购协议中讨论