Используя приведенный ниже запрос Linq с Entity Framework Core 3 и библиотекой EntityFramework Core Plus, я ожидаю, что верну 1 Factor со всеми элементами с логическим значением IsActive, установленным на true. Вместо этого я получаю 1 фактор и все элементы, независимо от того, является ли значение IsActive истинным или ложным. Почему?
public class Factor
{
public Factor()
{
Items = new List<Item>();
}
public bool IsActive{ get; set; }
public int FactorId { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
public class Item
{
[ForeignKey("Factor")]
public int? FactorId { get; set; }
public virtual Factor Factor { get; set; }
public bool IsActive{ get; set; }
public int ItemId { get; set; }
}
Factors
.IncludeFilter(a => a.Items.Where(b => b.IsActive))
.FirstOrDefault(a=>a.FactorId == 1140)