LINQ to Entities不支持指定的类型成员'LastHistoryEntry'

时间:2014-12-17 13:09:34

标签: c# linq linq-to-entities

我收到以下查询中提到的错误消息:

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

以下是StockItemHistory类的一部分,其中包含StockItemStatus:

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

        public StockItemStatus StockItemStatus { get; set; }
    }

我通过此错误消息查看了许多类似的问题,但在我的情况下,它们似乎对我没有帮助。

你能不能提供一个简单的解释,为什么会出现这个问题,以了解LINQ在这里有问题。

1 个答案:

答案 0 :(得分:0)

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