.net Realm(netxamarin)是否总是返回一个新的类实例?

.net Realm(netxamarin)是否总是返回一个新的类实例?,.net,xamarin,realm,.net,Xamarin,Realm,我用嵌套模型User->Coach->Lesson创建了一个非常简单的项目 当我尝试从path User.CurrentCoach.CurrentLesson获取课程实例时,我总是会得到类Lesson的一个新实例 例如: var obj1 = App.CurrentUser.CurrentCoach.CurrentLesson; App.Realm.Write(() => App.CurrentUser.CurrentCoach.CurrentLesson.Name = "Second

我用嵌套模型User->Coach->Lesson创建了一个非常简单的项目 当我尝试从path User.CurrentCoach.CurrentLesson获取课程实例时,我总是会得到类Lesson的一个新实例

例如:

 var obj1 = App.CurrentUser.CurrentCoach.CurrentLesson;
 App.Realm.Write(() => App.CurrentUser.CurrentCoach.CurrentLesson.Name = "Second");
 var obj2 = App.CurrentUser.CurrentCoach.CurrentLesson;
这里的obj1 guid与obj2 guid不同。 Realm是否总是返回一个新实例?如何预防呢

型号:

    public class User : RealmObject
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Coach CurrentCoach { get; set; }
}

public class Coach : RealmObject
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Lesson CurrentLesson { get; set; }
}

public class Lesson : RealmObject
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Guid guid;
    public Lesson()
    {
        guid = Guid.NewGuid();
    }
}

每次访问属性时,都会得到一个新实例。这种行为是故意的,没有办法阻止。根据经验,您不应该依赖于要保留在模型中的非持久化属性/字段。如果希望
guid
字段在每次访问属性时都不会更改,则应将其保留在数据库中。

App.CurrentUser.CurrentCoach.CurrentLesson背后的代码是什么?