Die folgende Abfrage funktioniert im Debug-Modus in Release-Modus funktioniert:Realm Abfrage nicht nur in Xamarin
private IQueryable<UserState> UsersOfEmail(string email)
{
return this.realm.All<UserState>()
.Where(u => u.EmailAddress == email);
}
Wenn in Release-Modus, ich den Fehler:
The rhs of the binary operator 'Equal' should be a constant or closure variable expression
fand ich ein workaround für den Fehler, aber es scheint hier nicht zu gelten.
Wenn ich die aktivieren Debugging Option für das Projekt (iOS, in diesem Fall), es funktioniert gut, weshalb es im Debug-Modus nur an erster Stelle funktionierte.
Irgendwelche Hinweise auf die Beziehung zwischen dem Fehler und der Debugging-Option?
UPDATE
Nach einer weiteren Untersuchung fand ich heraus, dass dieses Problem in keinem Verhältnis zu Realm hat.
Ich missbrauchte das Ereignis pub-sub-Funktion von Prism (MVVM-Framework, unter anderem), und ein Ereignis in einem Ansichtsmodell einer Seite, die von und nach navigiert werden, mehrmals abonnieren, ohne jeweils abzumelden Interaktion.
Ich dachte, das war ein Realm-Problem, weil ich nicht erkannte, dass der email
Parameter im Release-Modus null
war.
Durch die korrekte Verwendung des Pub-Sub konnte ich das Problem mildern. Ich habe immer noch keine Antwort, warum es nur im Release-Modus passiert, obwohl die Linking-Option in beiden Build-Modi deaktiviert war.
Es sieht so aus, als ob Sie einen Fehler entdeckt haben. Könnte ich Sie bitten, auf [GitHub] (https://github.com/realm/realm-dotnet/issues) ein Problem dafür zu erstellen? Auf diese Weise können wir es besser verfolgen. Vielen Dank! –
Ich konnte das Problem nicht mit einer sehr einfachen, separaten App reproduzieren. Es scheint, dass es nur in einem komplexeren Fall passiert. Ich versuche tiefer zu graben, um herauszufinden, was es ist. Vielen Dank! – MarcVit
Ok, das ist kein Problem mit Realm. Ich habe eine Event-Pub-Sub-Funktion des von mir gewählten MVVM-Frameworks missbraucht. Ich werde die Frage mit einigen Details aktualisieren. – MarcVit