STSdb:存储自定义字段类型

时间:2014-04-05 19:38:45

标签: c#

背景

我正在尝试使用STSdb来存储自定义类型,例如TimeSpan。但是,一旦我初始化XTable,应用就会崩溃,因为Appointment有一个不受支持的TimeSpan对象。

代码

using (IStorageEngine engine = STSdb.FromFile("db.stsdb4"))
{
    // This statement immediately crashes the app.
    var table = engine.OpenXTable<string, Appointment>("Appointment");
}

class Appointment
{
    ...
    public TimeSpan Reminder { get; set; }
    ...
}

问题

如何让STSdb识别TimeSpan对象(或其他自定义类型)?查看the custom comparer and persist logic docsengine.OpenXTable语句之后添加自定义记录持久逻辑...

是的,我知道我应该将STSdb作为标签,而不是作为标题的一部分,但我没有SO要求创建新标签的1500代表 - 显然没有人使用过之前的STSdb标记。

2 个答案:

答案 0 :(得分:2)

在官方STSdb网站上有一个开发人员指南文档,详细描述了STSdb的关键方面。您可以在此处找到STSdb 4.0.4开发人员指南:STSdb Documentation. 您正在寻找的主题在第32页 - &#34;自定义XTable逻辑&#34;

中有所描述。

答案 1 :(得分:1)

STSdb现在支持TimeSpan作为版本4.0.4的基本类型,于2014年6月25日发布。您可以在此处找到发行说明:STSdb 4.0.4 Release Notes.