OData 4で "Open Types"を使用できる動的プロパティを持つCall
という名前のクラスで新しいC#OData4 Web APIを作成しています。私はすべてを設定し、それを正しく設定したと信じていますが、シリアル化されたレスポンスには動的プロパティが含まれていません。C#WebAPI動的プロパティが正しくシリアル化されていません
私は何か問題を構成しましたか?
public partial class Call
{
public int Id { get; set; }
public string Email { get; set; }
public IDictionary<string, object> DynamicProperties { get; }
}
public class CallController : ODataController
{
[EnableQuery]
public IQueryable<Call> GetCall([FromODataUri] int key)
{
return _context.Call.GetAll();
}
}
public static partial class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
AllowUriOperations(config);
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.ComplexType<Call>();
var model = builder.GetEdmModel();
config.MapODataServiceRoute(RoutePrefix.OData4, RoutePrefix.OData4, model);
}
private static void AllowUriOperations(HttpConfiguration config)
{
config.Count();
config.Filter();
config.OrderBy();
config.Expand();
config.Select();
}
}
私はこれを新しい答えに矛盾しなければならない –