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

エラー:

メンバー アクセス 'System.Collections.Generic.IList 1[IReport] Reports' of 'IDocument' not legal on type 'System.Collections.Generic.IList1[IDocument].

質問: GetAll() で ToList を使用せずにこのリクエストを作成するにはどうすればよいですか?

4

1 に答える 1

1

ナビゲーション プロパティは、エンティティ タイプの代わりにインターフェースを使用します (例外は と について言及IReportしていますIDocument)。実装に変更して、もう一度試してください。EF はインターフェイスをサポートしていません。

于 2012-08-15T10:02:56.063 に答える