Web api 函数抛出 System.InvalidOperationException 异常

我从移动设备和 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。


幕布斯6054654
浏览 113回答 2
2回答

繁华开满天机

尝试直接使用强制转换指定名称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

您可以尝试使用 Entity FrameWork 和依赖注入来获取数据,方法如下: public async Task<List<User>> GetUsersList()        {            return await _context.Users.ToListAsync();        }
打开App,查看更多内容
随时随地看视频慕课网APP