【发布时间】:2018-08-08 14:09:05
【问题描述】:
我正在努力在 Xamarin.Forms Android 和 iOS 应用程序上实现具有同步领域的 领域平台。使用下面的代码,我可以创建/连接到应该存储数据的领域实例,并且可以向实例添加新对象。但是,无论我做什么,我都无法得到 p>
realm.Find<Person>("ID-1");
返回任何东西。在try() catch() 中,该行返回:“对象引用未设置为对象的实例”。使用 Realm Studio 我可以看到所做的更改,并且我看到我在应用程序上寻找的对象存在。
此外,如果我尝试查询元素,无论我指定哪个参数,我总是得到 0。
型号:
public class Person : RealmObject
{
[PrimaryKey]
public string Id { get; set; }
public int Number {get; set;}
public string DeviceName { get; set; }
public string DeviceId { get; set; }
public IList<SoundSnapModel> SnapList { get;}
public Person()
{
}
}
代码 sn-p:
var credentials = Credentials.Nickname("Thanos", false);
var InstanceId = "instance-name";
var serverURL = new Uri("realms://" + InstanceId + "/~/testRealm3");
var AUTH_URL = new Uri("https://" + InstanceId + "/auth");
var user = await User.LoginAsync(credentials, AUTH_URL);
var configuration = new QueryBasedSyncConfiguration(serverURL, user);
var realm = Realm.GetInstance(configuration);
realm.Write(() => realm.Add(new Person { Id = "ID-1", Number = 123,
DeviceId = "something", DeviceName = "something" })); // works without issue
Debug.WriteLine("Added new person!!");
var elements = realm.All<Person>().Where(e => e.Number > 100);
Debug.WriteLine("Found the object list: " + elements.Count() + " "); // returns 0
var currentObject = realm.Find<Person>("ID-1"); // triggers the exception mentioned above
【问题讨论】:
标签: c# xamarin xamarin.forms realm realm-mobile-platform