3

「ページ」「製品」という2つのモデルがあります。製品のPageIDはページのIDを指します

製品インデックスビューで、ドロップダウンとしてページリストを取得する必要があります。これには、使用しています。

public ViewResult Index()
{
   var products = _db.Products.Include(p => p.Page);
            return View(products.ToList());
}

しかし、必要なのは、 PageGroupプロパティの値が「Product」であるページだけです。そのために私は使用しました

public ViewResult Index()
{
    var products = _db.Products.Include(p => p.Page.PageGroup
                                   .Contains(PageGroup.Product.ToString()));
    return View(products.ToList());
} 

次のようなエラーが発生します。

インクルードパス式は、タイプで定義されたナビゲーションプロパティを参照する必要があります。参照ナビゲーションプロパティには点線のパスを使用し、コレクションナビゲーションプロパティには選択演算子を使用します。パラメータ名:パス

4

1 に答える 1

3

それ以外の

var products = _db.Products.Include(p => p.Page.PageGroup.Contains(PageGroup.Product.ToString()));

あなたはこのようなものが欲しいです。

var products = _db.Products.Include(p => p.Page).Where(p => p.Page.PageGroup.Contains(PageGroup.Product.ToString());

実際の状態を確認するには、いくつかのサブ プロパティ (PageGroup など) を含める必要があるかもしれませんが、データ モデルについて詳しく知らなければ、確かなことは言えません。

于 2012-12-13T20:30:55.040 に答える