我打算創建一個具有本地數據存儲功能的Xamarin.Forms項目。如何在Xamarin.Forms中替換Realm Windows Phone項目
用於存儲數據,我想使用新的Realm庫,可用於Xamarin.Forms項目 - 只是它不支持Windows Phone的項目,這是Xamarin.Forms的部分項目。
我不想放棄它,所以我尋找關於我能做什麼的選項。
隨着境界支持Android和iOS,我會在這些項目中使用它們,不知何故隱藏與接口或抽象類是這樣使用的數據庫類的:
在PCL項目中,我不得不像這樣的接口:
public interface IDBOperations<T>
{
List<T> GetData();
void SaveData(T input);
}
而且用它來與DependencyService
這樣的:
DependencyService.Get<IDBOperations>().SaveData(myModel);
在另一PCL項目,我有一個模型這樣的:
public class Model1: RealmObject
{
public int ID {get; set;}
public string Name {get; set;}
}
在Android項目:
public class DBOperations<T>: IDBOperations<T>
{
public List<T> GetData()
{
//get data from Realm
}
public void SaveData(T input)
{
//save data with Realm transaction
}
}
在Windows Phone項目:
public class DBOperations<T>: IDBOperations<T>
{
public List<T> GetData()
{
//get data from SQLite
}
public void SaveData(T input)
{
//save data with SQLite transaction
}
}
是我的方法正確嗎?或者我應該完全使用SQLite,並忘記這一點?
感謝您的承諾支持:)目前,我沒有使用Realm,但是我通過一個接口實現了數據庫操作,因此很容易替換ORM層。你能估計什麼時候UWP支持可用? – Nestor
夠公平的。對不起,我目前無法提供時間表,但您可以在這裏跟蹤問題:https://github.com/realm/realm-dotnet/issues/509 –