【发布时间】:2018-03-13 20:28:01
【问题描述】:
我尝试使用 oData v4 创建一个 Web api。
现在我尝试通过 oData 获取所有身份用户。
这是有效的:
[EnableQuery]
public class UsersController : Controller
{
protected readonly UserManager<User> _userManager;
public UsersController(UserManager<User> userManager)
{
_userManager = userManager;
}
private static List<User> _users = new List<User>
{
new User { Id = 1, Name = "Flo", Email = ""},
new User { Id = 2, Name = "Felix", Email = ""},
new User { Id = 3, Name = "Andreas", Email = ""},
new User { Id = 4, Name = "Marco", Email = ""}
};
public IQueryable<User> Get()
{
return _users.AsQueryable();
}
}
并返回此响应:
{"@odata.context":"http://localhost:55503/oData/$metadata#Users(Id)","value":[{"Id":1},{"Id":2},{"Id":3},{"Id":4}]}
当我更改控制器以返回所有身份用户时,这无法正常工作。
[EnableQuery]
public class UsersController : Controller
{
protected readonly UserManager<User> _userManager;
public UsersController(UserManager<User> userManager)
{
_userManager = userManager;
}
public IQueryable<User> Get()
{
return _userManager.Users.AsQueryable();
}
}
它返回这个响应:
[{"Id":"35909773-8b53-4d68-a770-b7cdfcffd0de"}]
但响应缺少上下文。你能告诉我为什么吗?
【问题讨论】:
标签: asp.net-core odata