指定的类型成员“LastHistoryEntry”在 LINQ to Entities 中不受支持

本文关键字:Entities to LINQ 支持 类型 成员 LastHistoryEntry | 更新日期: 2023-09-27 18:34:38

我收到以下查询的上述错误消息:

public IQueryable<StockItem> NotTaken()
        {
            return this.Queryable.Where(itm => itm.LastHistoryEntry.StockItemStatus != StockItemStatus.Taken && itm.LastHistoryEntry.StockItemStatus != StockItemStatus.TakenReserved);
        }

成员 LastHistoryEntry 位于 StockItem 类中,类型为 StockItemHistory:

public StockItemHistory LastHistoryEntry

以下是具有 StockItemStatus 的 StockItemHistory 类的一部分:

 public class StockItemHistory
    {
        public long StockItemId { get; set; }
        public StockItemStatus StockItemStatus { get; set; }
    }

我用这个错误消息查看了很多类似的问题,但它们似乎对我的情况没有帮助。

您能否也提供一个简单的解释,为什么会出现此问题,以了解LINQ在这里有问题的地方。

指定的类型成员“LastHistoryEntry”在 LINQ to Entities 中不受支持

您获得它的唯一原因是该StockItemHistory类当前未映射到数据库中的任何表。然后,LINQ to Entities在尝试将其处理为SQL查询时,不知道应该在哪里解决该部分,并且炸弹。