我从移动设备和 Rest 客户端调用 api 中的以下代码:[HttpGet] [Route("api/mobile/GetUsersList")] public IHttpActionResult GetUsersList() { var users = from c in db.Users select new { c.id, c.user_name, c.reports_to }; return Ok(users.ToList()); }我收到以下错误:转换为值类型“System.Int32”失败,因为具体化值为 null。结果类型的泛型参数或查询必须使用可以为 null 的类型我没有使用 where 所以我不确定为什么这个简单的查询会抛出这个错误。我正在使用 Advanced Rest Client 测试此函数的 Http GET。
2 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
尝试直接使用强制转换指定名称
var users = from c in db.Users select new { id= (int?)c.id, user_name = c.user_name, reports_to = c.reports_to };
或者
id = c.id ?? 0
慕丝7291255
TA贡献1859条经验 获得超6个赞
您可以尝试使用 Entity FrameWork 和依赖注入来获取数据,方法如下:
public async Task<List<User>> GetUsersList()
{
return await _context.Users.ToListAsync();
}
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消