読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Xamarin C# System.NotSupportedExceptionのエラー。

定義

 // Define your models like regular C# classes
    public class Dog : RealmObject 
    {
        [ObjectId]
        public string SSN { get; set; }

        public string Name { get; set; }
        public int Age { get; set; }
        public Person Owner { get; set; }
    }

    public class Person : RealmObject 
    {
        public string Name { get; set; }
        public RealmList<Dog> Dogs { get; } 
    }

このメソッド

     public Dog FindById (int id)
        {
            return realm.All<Dog>().Where (d => d.SSN == id.ToString()).First ();
        }

すると

System.NotSupportedException: The rhs of the binary operator 'Equal' should be a constant or closure variable expression
  at Realms.RealmResultsVisitor.VisitBinary 
return realm.All<Dog>().Where(d => d.SSN == id.ToString()).FirstOrDefault();

FirstOrDefaultだった。おそらくnullの対処ができないからだと思われる。