簡體   English   中英

LINQ查詢中的“日期類型不匹配” RealmException

[英]“Date type mismatch” RealmException in LINQ query

我在使用Realm Xamarin(C#)進行LINQ查詢時遇到問題。

創建以下類時,嘗試獲取Person為null的所有DogModel對象時,出現“日期類型不匹配” RealmException:

public class DogModel : RealmObject
{
    [PrimaryKey]
    public long Id { get; set; }
    public PersonModel Owner { get; set; }
}

public class PersonModel : RealmObject
{
    [PrimaryKey]
    public long Id { get; set; }
}

var p1 = new PersonModel();
p1.Id = 1;

var d1 = new DogModel();
d1.Id = 1;
d1.Owner = p1;

var d2 = new DogModel();
d2.Id = 2;
d2.Owner = null;

var _realm = Realm.GetInstance();
_realm.Write(() =>
{
    _realm.Add(p1, true);
    _realm.Add(d1, true);
    _realm.Add(d2, true);
});

var data1 = Realm.GetInstance().All<DogModel>()
    .ToList(); // This works

var data2 = Realm.GetInstance().All<DogModel>()
    .Where(x => x.Owner == null)
    .ToList(); // This does not work

在第二個LINQ查詢中,我希望獲得包含1個項目的列表(ID為2的DogModel),但是會拋出“日期類型不匹配” RealmException。

為什么會這樣? 有辦法嗎?

更新11/14/17Realm .NET 2.1.0已發布了針對此問題的修復程序。

這確實是Realm Xamarin SDK中的錯誤。 我打開了一個跟蹤它的問題: https : //github.com/realm/realm-dotnet/issues/1596 目前尚無解決方法,但是您是對的-固定后,它應該可以正常工作而無需添加其他屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM