Azure Mobile Services脫機同步可以與Entity Framework Core一起使用嗎?

azure-mobile-services entity-framework-core uwp

如何使用Azure移動應用程序的託管客戶端似乎對錶實體而不是我們在EF中使用的POCO類進行操作。我們有一個業務應用程序,我們正在嘗試移植到UWP。我們有復雜的相關數據,用於編輯對像圖中的多個實體,並使用dbContext.SaveChanges()保存它們。但是,所引用的文檔顯示按表格保存在表格上的更改。

我們必須在使用EF Core或使用Azure Mobile Services Offline Sync之間做出選擇嗎?是否有示例代碼顯示EF Core與Azure Mobile Services脫機同步一起使用?

熱門答案

從我的研究中可以推測,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創建提供程序的更多URL:

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



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow