[英]SQL query not working on C# entity framework
此 SQL 查询完美运行:
Select events.Name, results.Description, Events.Id, results.EventId, results.UserId
FROM Events
LEFT JOIN Results ON events.Id=Results.EventId
where results.UserId!='86' OR results.UserId IS NULL;
我正在为我的 API 尝试同样的事情,但此代码没有返回结果:
public IActionResult AllEventsMatches()
{
var events = from Event in _dbContext.Events
join Result in _dbContext.Results on Event.Id equals Result.EventId
where Result.UserId != 86 || Result.UserId == null
select new
{
Name = Event.Name,
Description = Event.Description,
Id = Event.Id,
EventId = Result.EventId,
UserId = Result.UserId
};
return Ok(events);
}
你也必须使用左连接
var events =
( from Event in _dbContext.Events
join Result in _dbContext.Results on Event.Id equals Result.EventId into ResultJ
from Recult in ResultJ.DefaultIfEmpty()
where Result.UserId == null || Result.UserId != 86
select new
{
Name = Event.Name,
Description = Event.Description,
Id = Event.Id,
EventId = Result.EventId,
UserId = Result.UserId
}).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.