在我的API中,我使用automapper映射到模型,它将实体精细地映射到模型中,但我希望将PropertyNames添加到模型中。我使用了Json.net的JsonProperty,但这并不能正常工作。
下面是DTO级
public class StudentModel
{
[JsonProperty("Admission Number")] public string StudentId { get; set; }
[JsonProperty("Date of Birth")] public string DOB { get; set; }
[JsonProperty("Name")] public string StudentName { get; set; }
}
下面是实体类
public class StudentEntity
{
public string StudentId { get; set; }
public DateTime DOB { get; set; }
public string StudentName { get; set; }
}
像这样的映射mappingProfile.CreateMap<StudentEntity, StudentModel>()
映射器为:_mapper.Map<StudentEntity, StudentModel>(entity)).ToList();
但是我在响应中没有得到JSON属性
这样的输出
{
"studentId": "30112020",
"dOB": "01-01-2020 12:00 AM",
"studentName": "rom"
}
但我想变成这样
{
"Admission Number": "30112020",
"Date of Birth": "01-01-2020 12:00 AM",
"Name": "rom"
}
在遵循dbc的注释后,它工作了
public class ResponseJson
{
[JsonPropertyName("StudentId")]
public string StudentId { get; set; }
[JsonPropertyName("dob")]
public string DOB { get; set; }
[JsonPropertyName("StudentName ")]
public string StudentName { get; set; }
}
而不是
public class StudentModel
{
[JsonProperty("Admission Number")] public string StudentId { get; set; }
[JsonProperty("Date of Birth")] public string DOB { get; set; }
[JsonProperty("Name")] public string StudentName { get; set; }
}