2012-08-15 90 views
-3

代码示例值的工作:与不同类型的

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>(); 

错误:

Member access 'System.Collections.Generic.IList 1[IReport] Reports' of 'IDocument' not legal on type 'System.Collections.Generic.IList 1[IDocument].

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

+2

有什么问题? – elyashiv 2012-08-15 08:13:13

+1

什么类型是'repository'? – 2012-08-15 08:13:58

+1

GetAll返回什么? – erikH 2012-08-15 08:17:41

回答

1

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

+0

我需要使用其他接口来解决这个问题吗? – Mediator 2012-08-15 11:00:36

+0

如果您需要使用接口EF对您来说不是很好的技术。 – 2012-08-15 12:00:20