我試圖尋找嵌套對象的境界,但我得到以下錯誤更好的解決辦法來搜索嵌套對象的境界xamarin
var contactList = realm.All<Contact>().Where(c => c.syncInfo.isSync == SyncStatus.NOT_SYNCED);
System.NotSupportedException:平等操作 的左手邊必須直接訪問Realm中的持久性屬性。
無法處理'c.syncInfo.isSync'。
我知道這個功能不存在Realm Xamarin
但我尋找更好的解決方法。
public class Contact : RealmObject
{
[PrimaryKey]
public Id {get;set;}
public ContactName {get; set;}
public SyncInfo syncInfo;
}
public class SyncInfo: RealmObject
{
public int isSync { get; set; }
public long timestamp {get;set;}
}
到目前爲止,我還使用ToList()
和foreach
來查找記錄,但我有1000個聯繫人嘗試了使用ToList()
和foreach
減慢性能。
I tried to refer this thread but no luck
我有20多個模型,其中我不想複製'isSync'和'timestamp'字段,在領域ü不能擴展其他外部類,因此我認爲使用'SyncInfo'作爲類成員作爲構成 – Hunt
我沒有得到這個聲明'你不必刪除舊的SyncInfos(例如,當替換con上的同步信息時「可以請你解釋一下 – Hunt
E.g.你有'Sync'與'SyncInfo.isSync = false'。如果你從服務器得到一個新的'SyncInfo':'var updatedInfo = serverClient.GetSyncInfoForContact(contact.Id)',並將它分配給你的聯繫人:'contact.syncInfo = updatedInfo',則前一個對象現在將懸空 - 未分配任何事情,將需要刪除。 –