具有不同类型的样本值

时间:2012-08-15 08:11:55

标签: c# linq entity-framework .net-4.0

代码工作:

var reports = repository.GetAll().ToList().
    Where(r => r.Documents.
                 Where(d => d.Reports.
                              Where(rw => rw.ID == reportID).Any()).Any()).
    ToList<IDocumentObjects>();

但我不想使用ToList 此代码调用错误:

var reports = repository.GetAll().
     Where(r => r.Documents.
                   Where(d => d.Reports.
                                 Where(rw => rw.ID == reportID).Any()).Any()).
     ToList<IDocumentObjects>();

错误:

  

会员访问'System.Collections.Generic.IList 1[IReport] Reports' of 'IDocument' not legal on type 'System.Collections.Generic.IList 1 [IDocument]。

问题:如何在GetAll()中使用ToList创建此请求?

1 个答案:

答案 0 :(得分:1)

您的导航属性使用接口而不是实体类型(例外提及IReportIDocument)。将其更改为实现并再次尝试。 EF不支持接口。