[英]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.