Я создал приложение OData локально. и Запрос адрес "http://localhost:5182/odata/Users"Почему мои данные OData возвращают данные «@ odata.type»?
[EnableQuery]
public IHttpActionResult GetUsers()
{
var result = userService.GetQueryable().ProjectTo<UserModel>();
return Ok(result);
}
Теперь, если я задам ViewModel, возвращаемые данные будут содержать "@ OData.type" Like This:
{
"@odata.context": "http://localhost:5182/odata/$metadata#Users/MyApp.WebApiOData.Models.UserModel",
"value": [
{
"@odata.type": "#MyApp.WebApiOData.Models.UserModel",
"Id": 1,
"Name": "admin",
"PhoneNumber": null
},
{
"@odata.type": "#MyApp.WebApiOData.Models.UserModel",
"Id": 2,
"Name": "mapley",
"PhoneNumber": null
}
}
если я не прошу ViewModel, возвращенные данные понравятся:
{
"@odata.context": "http://localhost:5182/odata/$metadata#Users",
"value": [
{
"Name": "admin",
"Pwd": "123456",
"RealName": null,
"Sex": null,...
Я не хочу возвращать результат, чтобы включить «@ OData.type», а адрес Url содержит «MyApp.WebApiOData.Models», мне просто нужен json для myapp.
Как я могу решить эту проблему? Информация OData в этой области слишком мала, и мой английский не очень хорош. И я не понимаю «@ odata.type» usedfor.
Если вы можете мне немного помочь, я буду в долгу навсегда.