在UWP的领域中重复

时间:2018-01-12 12:22:51

标签: c# xamarin uwp realm realm-mobile-platform

我有两个类,其中一个与另一个有关系:

public FirstClass
{
    public string Name {get; set;}
    public string Age {get; set;}
}

和另一个我使用这个领域对象的类,用于多对多关系:

public OtherClass 
{
    public IList<FirstClass> From {get; set;}
    public IList<FirstClass> To {get; set;}
}

我的问题是,每次保存新的OtherClass时,FirstClass也会保存为新的。但我希望如果保存相同的FirstClass,它有一个指向已保存的FirstClass的链接,并且不会创建重复。 那可能吗?如果是的话怎么样?

1 个答案:

答案 0 :(得分:1)

FirstClass没有定义主键,因此Realm无法知道您是否需要现有实例。您可以在FirstClass上添加主键,然后执行以下操作:

public FirstClass : RealmObject
{
    [PrimaryKey]
    public int Id { get; set; }

    // Other properties
}

var otherClass = ...;
realm.Write(() =>
{
    realm.Add(otherClass, update: true);
});