Атрибут MetadataType не работает с webapi в .net 5

Проблема:

Следующий код, использующий ModelMetadataType, не работает должным образом.

Я пытался использовать MetadataType, все еще не дает ожидаемого результата.

Ожидаемый результат:

{ "myid": 0 }

Текущий вывод:

{ "id": 0 }

Код:

using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Mvc;

namespace webapi.models
{
  public partial class MyClass
  {
    public int id { get; set; }
  }

  [ModelMetadataType(typeof(MyClassMeta))]
  public partial class MyClass {}

  public class MyClassMeta
  {
    [JsonPropertyName("myid")]
    public int id { get; set; }
  }

}

Другие сведения:

Версия дотнета: дотнет 5

Тип проекта: вебапи

Используемая IDE: VSCode с dotnet CLI

Другие связанные вопросы в Stack Overflow;

  1. Атрибут ASP.NET Core MetaDataType не работает
  2. MetadataType не работает с частичным классом в ASP.NET MVC

Ни один из приведенных выше ответов не помог в этом случае. Ниже приведена ссылка на документацию Microsoft по атрибуту metadatatype.

Ссылка MSDN на Атрибут MetaDataType

Пожалуйста помоги! Спасибо.


person Chin. Udara    schedule 19.06.2021    source источник
comment
Подозреваю, что это баг. Я открыл задачу в github.   -  person Chin. Udara    schedule 20.06.2021