Используя функции Azure Durable, я пытаюсь использовать функцию context.GetInput<model>()
, которая возвращает указанную модель. Используемая модель имеет параметр, который является другой моделью, являющейся производным классом. Модель, которая выводится из context.GetInput<model>()
, возвращает модель с базовым классом вместо производного класса.
Я проверил тип $, указанный в контексте, который показывает производный класс, но при проверке выведенной модели результатом является базовый класс.
например:
public class Student{
public Book book {get;set;}
}
public class Textbook:Book {
public string classfor {get;set;}
}
public class Book {
public string title {get;set;}
}
[ActivityTrigger] DurableActivityContextBase context
- это параметр функции.
Тогда я бы позвонил:
var model = context.GetInput<Student>()
, где контекст включает
{
"$type": "Student",
"book" : {
"$type": "Textbook",
"classfor" : "Math",
"title" : "PreAlgebra"
}
}
И все же результатом является Модель ученика, которая содержит книгу вместо учебника, где названию присваивается «PreAlgebra»
Я ожидаюВыходные данные модели Студента должны иметь Учебник со свойствами:
title = "PreAlgebra"
classfor = "Math"
, но фактический вывод Студента содержит Книгу со свойством
title = "PreAlgebra"