Azure Mobile Services脱机同步可以与Entity Framework Core一起使用吗?

时间:2017-05-05 05:26:20

标签: uwp entity-framework-core azure-mobile-services

How to use the managed client for Azure Mobile Apps似乎对表实体而不是我们在EF中使用的POCO类进行操作。我们有一个业务应用程序,我们正在尝试移植到UWP。我们有复杂的相关数据,用于编辑对象图中的多个实体,并使用dbContext.SaveChanges()保存它们。但是,所引用的文档显示按表格保存在表格中的更改。

是否必须在使用EF Core或使用Azure Mobile Services Offline Sync之间进行选择?是否有示例代码显示EF Core与Azure Mobile Services脱机同步一起使用?

2 个答案:

答案 0 :(得分:2)

从我的研究中可以推测,mobileservicesqlitestore和dbcontext之间的集成尚未完成......是的!这两种情况都需要在框架中注册POCO。

对于EF,POCO必须在DBContext中作为DBSet注册(或者从POCO派生)才能由EF“管理”,以便更改跟踪,导航属性等。

对于MobileServiceSQLLiteStore,通过

注册表以进行脱机同步
  var store = new MobileServiceSQLiteStore"localsync.db");
store.DefineTable<TodoItem>();

这是两个不同的框架,用于两个不同的目的。 EF(通过EF Core)是我在移动设备上管理数据的首选方式(android,Uwp和IOS(? - 还没有))。 MobileServiceSQLStore需要管理POCO以记录正在进行的更改以管理这些更改,但无法处理对象图的复杂性。

IMO,需要发生的事情是挂钩到CRUD活动的EF事件。这是EF的主要目的之一是跟踪EF图形中的更改,并保持它们直到完成上下文保存。发生SAVE时,会枚举这些更改,并使用基础提供程序执行 - SQLLite,SQL Server等。

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

我喜欢的东西......但首先我必须更熟悉MobileServiceSQLStore ......

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

有关为EF创建提供商的更多网址:

https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/

https://docs.microsoft.com/en-us/ef/core/providers/writing-a-provider

答案 1 :(得分:0)

否 = Azure 移动应用不能与 EF Core 一起使用。

您必须等待支持 ASP.NET Core 的 v5.0 版本(目前代码已完成,因此您可以从 azure/azure-mobile-apps 下载,但尚未发布)。< /p>

相关问题