Realm dotnet - Die rhs des binären Operators 'Equal' sollten eine Konstante oder ein Ausdruck für eine Abschlussvariable sein.
Ich habe gerade angefangen, Realm dotnet zu verwenden
Wenn ich eine einfache Abfrage wie
var results = realm.All<MyRealmType>().Where(x => x.Property == otherVariable.Property);
So werden in der Where-Klausel zwei Zeichenfolgen verglichen, um die benötigten Daten aus dem Realm abzurufen.
Ich erhalte den folgenden Fehler
{System.NotSupportedException: The rhs of the binary operator 'Equal' should be a constant or closure variable expression
at Realms.RealmResultsVisitor.VisitBinary (System.Linq.Expressions.BinaryExpression b) [0x000cb] in <filename unknown>:0
at Realms.ExpressionVisitor.Visit (System.Linq.Expressions.Expression exp) [0x000d2] in <filename unknown>:0
at Realms.RealmResultsVisitor.VisitMethodCall (System.Linq.Expressions.MethodCallExpression m) [0x0006a] in <filename unknown>:0
at Realms.ExpressionVisitor.Visit (System.Linq.Expressions.Expression exp) [0x000ec] in <filename unknown>:0
at Realms.RealmResults`1[T].CreateResultsHandle () [0x00037] in <filename unknown>:0
at Realms.RealmResults`1[T].get_ResultsHandle () [0x0000d] in <filename unknown>:0
at Realms.RealmResults`1[T].GetEnumerator () [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[T]..ctor (IEnumerable`1 collection) <0x1001aa7e0 + 0x001df> in <filename unknown>:0
at System.Linq.Enumerable.ToList[TSource] (IEnumerable`1 source) <0x100659e70 + 0x0004b> in <filename unknown>:0
at MyNamespace.MyMethod (System.Collections.Generic.List`1 myListList) [0x000b0] in C:\PathToMyFile\MyFile.cs:140 } System.NotSupportedException
Ich bin mir nicht sicher was das bedeutet. Bedeutet das, dass meine Where-Klausel nur eine fest codierte Zeichenfolge oder einen int wie im folgenden Beispiel verwenden kann?
var results = realm.All<MyRealmType>().Where(x => x.Property == "stringToCompare");
Wenn ja, scheint dies sehr einschränkend zu sein. Weiß jemand, wie man das löst.
Danke im Voraus