У меня есть следующее 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 пропускает условие для самореферентного свойства навигации ?
Заранее спасибо за помощь