-1

将下面的 Linq 查询与 Entity Framework Core 3 和 EntityFramework Core Plus 库一起使用,我希望我会返回 1 Factor,其中 IsActive 布尔值设置为 true 的所有项目。相反,我得到的是 1 Factor 和 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)
4

1 回答 1

1

这部分看起来无效:

.IncludeFilter(a => a.Items.Where(a => a.IsActive))

您使用了两次无法编译的“a”。

也许是错误的,您当前正在检查 Factor 当前是否是IsActive您的所有项目。

于 2020-08-13T12:03:36.183 回答