我有一张以下性质的表格。+----+-----------+-----------+------+---------+------+| Id | AccountId | ProjectId | Year | Quarter | Data |+----+-----------+-----------+------+---------+------+| 39 | 163 | 60 | 2019 | 2 | 0 || 40 | 163 | 60 | 2019 | 2 | 8 || 41 | 163 | 61 | 2019 | 2 | 1 || 42 | 163 | 61 | 2019 | 2 | 2 |+----+-----------+-----------+------+---------+------+我想ProjectIds使用 Entity Framework 与 Json 不同,到目前为止我的代码看起来像这样。 // GET: api/Insight/163/2019/2 [HttpGet("{accid}/{year}/{qurter}")] public async Task<IActionResult> GetSurveys([FromRoute] long accid, [FromRoute] long year, [FromRoute] long qurter) { //This code gives me the error. return await _context.CustomerSatisfactionResults.Select(x=>x.ProjectId) .Where(x => x.AccountId == accid && x.Year == year && x.Quarter == qurter).ToListAsync(); }当我用参数点击这个端点时,/163/2019/2我想要一个 Json 响应,[ "60", "61"]但我收到以下错误。我做错了什么?
1 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
您收到错误的原因是您将Where
条件应用于仅包含 的投影序列ProjectId
。你应该使用Where
之前Select
。
要获取不同的值,请使用以下Enumerable.Distinct
方法:
return await _context.CustomerSatisfactionResults .Where(x => x.AccountId == accid && x.Year == year && x.Quarter == qurter) .Select(x => x.ProjectId) .Distinct() .ToListAsync();
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消