我目前在使用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...
}