UWP 领域中的重复项

Duplicates in Realm for UWP

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

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

和另一个 class 我使用这个领域对象的地方是这样的一对多关系:

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

我的问题是每次保存一个新的 OtherClass 时,FirstClass 也会保存为一个新的。但是我希望,如果保存了相同的 FirstClass,它对保存的 FirstClass 有一个 link,并且不会创建重复项。 那可能吗?如果是,如何?

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

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

    // Other properties
}

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