1
我在本地创建了一个OData应用程序。 与上述请求地址是 “http://localhost:5182/odata/Users”为什么我的OData返回数据包含“@ odata.type”?
[EnableQuery]
public IHttpActionResult GetUsers()
{
var result = userService.GetQueryable().ProjectTo<UserModel>();
return Ok(result);
}
现在,如果我问视图模型,返回的数据将包含 “@ OData.type” 这样的:
{
"@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”,我只需要用于myapp的json。
我该如何解决这个问题? 这方面的OData信息太小了,我的英文不好。 而我不明白“@ odata.type”usedfor。
如果你能给我一点帮助,我会永远感激。