Web api 函数抛出异常 System.InvalidOperationException
web api function throwing exception of System.InvalidOperationException
我在 api 中从移动设备和 Rest 客户端调用以下代码:
[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());
}
我得到一个错误:
The cast to value type 'System.Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type
我没有使用 where 所以我不确定为什么这个简单的查询会抛出这个错误。
我正在使用 Advanced Rest Client 测试此功能的 Http GET。
我在其他 SO 帖子中看到当 where 参数为 null 时会抛出此错误。
瑞安
尝试直接用cast指定名字
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
您可以尝试使用 Entity FrameWork 和依赖注入来获取数据,方法如下:
public async Task<List<User>> GetUsersList()
{
return await _context.Users.ToListAsync();
}
以下是 Entity framework 的一些资源:
我在 api 中从移动设备和 Rest 客户端调用以下代码:
[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());
}
我得到一个错误:
The cast to value type 'System.Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type
我没有使用 where 所以我不确定为什么这个简单的查询会抛出这个错误。
我正在使用 Advanced Rest Client 测试此功能的 Http GET。
我在其他 SO 帖子中看到当 where 参数为 null 时会抛出此错误。
瑞安
尝试直接用cast指定名字
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
您可以尝试使用 Entity FrameWork 和依赖注入来获取数据,方法如下:
public async Task<List<User>> GetUsersList()
{
return await _context.Users.ToListAsync();
}
以下是 Entity framework 的一些资源: