2017-03-22 4 views
3

Wenn ein verschachteltes Objekt mit dem Code unter der folgenden Ausnahme Zugriff angezeigt:Ist es möglich, verschachtelte Objekte in Realm mit Xamarin abzufragen?

System.NotSupportedException: Die linke Seite des Equal Operators ein direkter Zugang zu einem in Realm beharrte Eigenschaft sein muss.

In Objective C scheint es jedoch, dass Sie verschachtelte Objekte irgendwie abfragen können. Ist es geplant oder gibt es Lösungen, verschachtelte Objekte in Xamarin abzufragen?

Realm.All<Person>().Where(p => p.Name.Firstname == "Test"); 

public class Person : RealmObject 
{ 
    public string Town { get; set; } 
    public PersonName Name { get; set; } 
} 

public class PersonName : RealmObject 
{ 
    public string Firstname { get; set; } 
    public string Lastname { get; set; } 
} 
+0

Wie haben Sie das gelöst? – Hunt

Antwort

0

Dies ist eine geplante Funktion. Sie können die GitHub issue verfolgen.

+0

@Kristain was ist die Problemumgehung? – Hunt

+0

Es gibt keine offizielle Problemumgehung. Die beste Lösung hängt von der Art Ihrer Objekte ab und davon, mit wie vielen Sie arbeiten werden. –

+0

Ich habe den Workaround [hier] (https://github.com/Shaddix/realm-dotnet) mit der Beispielverwendung implementiert, die in der oben erwähnten github Ausgabe beschrieben ist (im Grunde ist es wie 'realm.All (). AddLinkQuery (x => x .TopDog.Color, PredicateOperator.Equal, "Black") '). Ich habe das aktiv von Februar bis Juni auf iOS verwendet, während unser Projekt lief. Es war schmutzig, aber es hat funktioniert (es hat die Abfrage tatsächlich an die zugrundeliegende C++ - Engine übergeben, wie in Realm-Java). Übrigens bin ich wirklich überrascht, dass dieses Problem immer noch nicht in C# API implementiert ist, ich dachte, dass jede ernsthafte DB-Arbeit das erfordert :) – Shaddix

Verwandte Themen