我有两个型号说“Page”和“产品”产品的PageID指的是Page的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());
}
它给出了如下错误:
Include路径表达式必须引用导航属性 在类型上定义。使用虚线路径进行参考导航 属性和集合导航的Select运算符 属性。参数名称:路径
答案 0 :(得分: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)来检查您的实际情况,但在不了解您的数据模型的情况下,我无法肯定地说。