Поиск по самореферентному свойству навигации EF Core - PullRequest
0 голосов
/ 17 марта 2020

У меня есть следующее POCO:

public class Event
{
    public int Id { get; set; }

    public bool UnderProcessing { get; set; }

    public DateTime CreatedDate { get; set; }

    public int? ParentId { get; set; }

    public Event Parent { get; set; }
}

Мне нужно выбрать все критерии, соответствующие следующим критериям:

context.Events
    .Include(ev => ev.Parent)
    .Where(ev => (ev.ParentId != null && ev.Parent.UnderProcessing) || ev.ParentId == null) 
    .OrderByDescending(ev => ev.CreatedDate)
    .FirstOrDefault()

Данные в базе данных:

Event: id = 1, UnderProcessing  = true, CreatedDate = 15.03.2020, ParentId = null
Event: id = 2, UnderProcessing  = false, CreatedDate = 16.03.2020, ParentId = 1

Но вместо того, чтобы возвращать событие с id = 2, потому что это первая строка после упорядочения в des c, оно всегда дает мне Событие с id = 1. Как это возможно, кажется, что EF Core пропускает условие для самореферентного свойства навигации ?
Заранее спасибо за помощь

...