Я смотрю на некую старую кодовую базу, которая проект webapi в aspnetcore 2.1 . Объекты, отправленные как результаты, помечены как DataContracts и т. Д., См. Это:
[DataContract]
[Entity(Title = "Unit")]
public class Unit : EntityBase
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Symbol { get; set; }
}
Это, я знаю, для сериализации в / из JSON и XML, но если API не требуется отправлять XML-ответ, тогда эти атрибуты не нужны, по крайней мере, для Json.NET, который уже является частью проекта. , Однако, если я удаляю какой-либо элемент данных или атрибут контракта данных, значение по умолчанию не работает, и этот объект или свойство ведет себя так, как будто JsonIgnore был применен.
Я искал всю конфигурацию проекта, чтобы увидеть, было ли что-то установлено, какое-то свойство или переключатель, чтобы это произошло, но не смог найти место, где даже был доступен DataContractSerializer. так что вопрос
Как мне избавиться от этих атрибутов, и все же моя сериализация все равно будет работать нормально? Я знаю, что пожертвовал бы сериализацией Xml, но это внутренний проект, и нам совсем не нужна сериализация xml.