Simple.OData.Client继承问题

时间:2016-05-31 13:41:13

标签: c# asp.net-mvc odata simple.odata simple.odata.client

使用Simple.OData.Client检索对象时,我目前遇到了问题。

此处使用ODataClient

的实例进行通话
RecurringObjectView model = await client.For<RecurringObjectView>("RecurringObjects")
                                        .Key(id)
                                        .Expand(r => r.RecurrenceSetting)
                                        .FindEntryAsync();

我能够跟踪来自API的数据,一切都很顺利。下面是服务器返回的Json的摘录。

{
    "RecurrenceSetting": {
        "@odata.type":"#Namespace.Of.The.DailyRecurrenceSettingView",
        "Id":16
        // more settings...
     }
     // more values...
}

问题是RecurrenceSetting对象是抽象的,反过来又会出现以下错误......

  

无法创建类型为RecurrenceSettingView的实例   没有默认构造函数。

供参考,以下是类定义的摘录......

public class RecurringObjectView
{
    public int Id { get; set; }

    public virtual RecurrenceSettingView RecurrenceSetting { get; set; }

    // loads more properties...
}


public abstract class RecurrenceSettingView
{
    public int Id { get; set; }

    // common recurrence setting properties...
}

public class DailyRecurrenceSettingView :
    RecurrenceSettingView
{
    // daily specific settings...
}

0 个答案:

没有答案