現在、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...
}