我在Postman中使用以下查询https://localhost:44300/api/viewevents?id=bob。 相反,它返回了4个包含ID Bob的不同行,而是返回了4个完全相同的行。 如有任何帮助,我们将不胜感激。
API控制器
// GET: api/ViewEvents
[HttpGet]
public async Task<ActionResult<IEnumerable<ViewEvents>>> GetViewEvents(string id)
{
if(id == null)
{
return await _context.ViewEvents.ToListAsync();
}
else
{
var viewEvents = _context.ViewEvents.Where(i => i.Id==(id)).ToList();
if (viewEvents.Count < 1)
{
return NotFound();
}
return viewEvents;
}
}
数据库视图返回正确的结果。
CREATE
ALGORITHM = UNDEFINED
DEFINER = `tim_azure`@`%`
SQL SECURITY DEFINER
VIEW `view_events` AS
SELECT
`e`.`CreatedUserID` AS `id`,
`e`.`ID` AS `eventid`,
`e`.`Event` AS `event`
FROM
`tblevent` `e`
下图包含数据库恢复结果。 数据库结果
我更改了我的查询到下面,它工作了一些原因。
var viewEvents = _context.Tblevent.Where(i => i.CreatedUserId == (id));
if (id == null)
{
return await _context.Tblevent.ToListAsync();
}
else
{
if (viewEvents.ToList().Count < 1)
{
return NotFound();
}
return viewEvents.ToList();
}
}