我正在查看 aspnetcore 2.1 中 webapi项目的某些旧代码库。作为结果发送的对象被标记为DataContracts等。请参见:
[DataContract]
[Entity(Title = "Unit")]
public class Unit : EntityBase
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Symbol { get; set; }
}
我知道这是用于从JSON和XML到/从JSON和XML进行序列化,但是如果不需要API发送XML响应,则不需要这些属性,至少对于已经属于该项目的Json.NET而言,则不需要。但是,如果我删除任何数据成员或数据协定属性,则默认设置不起作用,并且该对象或属性的行为就像已应用JsonIgnore。
我搜索了整个项目配置,以查看是否已设置某些内容,某些属性或开关来实现该目的,但找不到任何访问DataContractSerializer的地方。所以问题是
如何摆脱这些属性,但是我的序列化仍然可以正常工作?我知道我会牺牲Xml序列化,但这是一个内部项目,我们根本不需要xml序列化。