我正在編寫Xamarin Android應用程序並使用Azure Mobile SDK。我的數據模型的用戶列表與ListItems。由於用戶可以共享多個「列表」和「列表」,用戶和列表之間通過UserLists實體進行管理存在多對多關係。所以用戶 - >用戶列表< - 列表< - ListItems。 在給定設備上,只會加載當前用戶的列表。使用Azure移動客戶端SDK的一個與多個存儲庫 - 架構指導
所以我有4個實體在後端,我有4個實體在客戶端上。同步設置,使它只拉取當前用戶的列表(和關聯的列表項)。現在,所有4個實體都由一個存儲庫(ListRepository)管理,因爲這些實體是如此相互關聯的。這是一個很好的模式嗎?有4個實體,它已經失控(只有2個是「可更新的」 - Lists和ListItems)。如果這個模型增長,倉庫會變得相當臃腫。
或者,擁有多個存儲庫(每個實體一個)並將它們分組到一個服務下將是人們所期望的,但這意味着服務和各個存儲庫之間來回訪問以捕獲相互依賴的實體。另外,如何處理參照完整性,除非它們都與相同的SyncContext有關?
「存儲庫」和「實體」是什麼意思?你的列表與你的實體和存儲庫之間有什麼關係?這是後端問題還是客戶端問題?或者這只是一個數據庫問題? –