0

すべてのコンテンツのリストを含むリポジトリがあります。

private Repository<Content> contentRepository

そして、コンテンツの統計のリストを含むリポジトリがあります。

private Repository<ContentStatistic> statisticRepository

コンテンツ モデルには、2 つのクラスを外部キーとしてリンクする ContentStatisticID があります。

MostPopularContent と呼ばれる IEnumerable を宣言し、最も視聴された 8 つのビデオのリストを作成しようとしています。統計クラスには、誰が気に入ったかなどの他の情報も含まれているためです。

次のコードを試しましたが、エラーが発生し、回避策が得られないようです。

MostPopularContent = contentRepository.GetAll()
            .Join(statisticRepository.Get(s => s.Views != 0),
            c => c.ContentStatisticID,
            s => s.ContentStatisticID,
            (c, s) => new Content()
            {
                ContentID = c.ContentID,
                Views = s.Views
            })
            .Take(8)
            .ToList(); 

これを実行すると、次のエラーが表示されます。

タイプ 'Data.ContentStatistic' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。

4

1 に答える 1

0

初期化された遅延読み込みを設定していなかったため、仮想プロパティが常に nil として返されていたため、問題が発生していました。ViewModel に次のコード行を追加することで、この問題を解決しました。

this.dbcontext.Configuration.LazyLoadingEnabled = true;

ビュー自体の中には、より複雑なモデルの一部に対して一連のネストされたクエリもあり、次のセグメントを接続文字列に追加する必要がありました。

MultipleActiveResultSets=True";
于 2013-06-26T20:21:17.123 に答える