Ich möchte alle Elemente abrufen, bei denen die Modified-Eigenschaft nicht festgelegt ist, aber scheinbar nicht mit Realm arbeiten kann.Wie überprüft man auf NULL-Typen mit Linq-Ausdruck in Realm auf Null?
Beispielcode:
public class FooModel : RealmObject
{
public DateTimeOffset? Modified { get; set; }
}
...
public List<FooModel> GetAllUnmodified()
{
var realm = Realm.GetInstance();
//doesn't work
var result1 = realm.All<FooModel>().Where(model => model.Modified == null).ToList();
//doesn't work
var result2 = realm.All<FooModel>().Where(model => !model.Modified.HasValue).ToList();
//doesn't work
DateTimeOffset? testValue = null;
var result3 = realm.All<FooModel>().Where(model => model.Modified == testValue).ToList();
//doesn't work
var result4 = realm.All<FooModel>().Where(model => model.Modified == default(DateTimeOffset?)).ToList();
return result1;
}
immer bekommen System.NotSupportedException: The rhs of the binary operator 'Equal' should be a constant or closure variable expression.
oder System.NotSupportedException: The member 'HasValue' is not supported
Habe ich etwas verpasst? Gibt es einen guten Weg zu sehen, was eigentlich von Realms Linq unterstützt wird?
Mit Realm Xamarin v0.77.1 auf Android
EDIT:
Ich habe creating a linq expression tree versuchen, wie durch einen Kommentator vorgeschlagen. Dies führte zu einer System.MissingMethodException: Method 'RealmResults'1.get_Provider' not found.
Ausnahme.
Danke für die Anregung. Nachdem ich es versucht hatte, konnte ich es nicht zur Arbeit bringen. Ich bekomme die folgende Ausnahme: 'System.MissingMethodException: Methode 'RealmResults'1.get_Provider' nicht gefunden. '. Es kompiliert also gut, aber wirft einen Fehler zur Laufzeit. – Marc