我正在使用https://github.com/sushihangover/Realm.Json.Extensions将JSON导入我的领域数据库。但是,只创建了顶级对象,而不是JSON中的所有嵌套对象。
下面是一个例子。想象一下三个类:A,B和C. A包含B和B,包含C.
public class A : RealmObject
{
[PrimaryKey]
public string Id { get; set; } = Guid.NewGuid().ToString();
[Backlink(nameof(B.A))]
public IQueryable<B> BList { get; }
}
public class B : RealmObject
{
[PrimaryKey]
public string Id { get; set; } = Guid.NewGuid().ToString();
public A A { get; set; }
[Backlink(nameof(C.B))]
public IQueryable<C> CList { get; }
}
public class C : RealmObject
{
[PrimaryKey]
public string Id { get; set; } = Guid.NewGuid().ToString();
public B B { get; set; }
}
当我将数据库导出到json时,我得到以下内容:
{
"$id": "1",
"Id": "979e7341-0d16-4ba4-b91b-31ec81bb18ad",
"BList": [
{
"$id": "2",
"Id": "dbb35317-eae0-4978-9675-e0246805fc34",
"CList": [
{
"$id": "3",
"Id": "2da5ac92-bc73-4f80-8a27-051bbf4e5e66",
},
{
"$id": "4",
"Id": "a40f7f12-7eee-47ee-845f-4481b72c0109",
},
{
"$id": "5",
"Id": "37606fc1-74a0-4a9e-a802-587076429edc",
}
]
}
]
}
然而,当我打电话时:
using (var r = Realm.GetInstance()) {
var s = r.CreateObjectFromJson<A>(json);
}
只创建父对象A而没有任何子对象(1 B对象和3 C对象)。
有什么建议吗?