我的功能可以为我的类别生成面包屑格式,例如Root->Children
。它之所以有效,是因为当我在我看来使用它时,它确实有效并完成了它的工作。但是我不能将它投射到 LINQ 查询中。
有人可以解释我如何在 LINQ 查询中转换这个特定的函数吗?我尝试获取数据然后将其设置为foreach
循环,但它说该属性是只读的。
功能是Infrastructure.CategoryHelpers.Breadcrumbs({id})
它会返回string
。
调用函数
public dynamic List()
{
var categories = _db.Categories.Select(x => new {
ID = x.ID,
Breadcrumbs = Infrastructure.CategoryHelpers.Breadcrumbs(x.ID, -1, ""), // this method cannot be translated into a store expression
Name = x.Name,
ItemCount = x.Items.Count
});
foreach (var c in categories)
{
// c.Breadcrumbs = Infrastructure.CategoryHelpers.Breadcrumbs(c.ID); // Value is read only
}
return Json(categories, JsonRequestBehavior.AllowGet);
}
错误
LINQ to Entities 无法识别方法 'System.String Breadcrumbs(Int32, Int32, System.String)' 方法,并且此方法无法转换为存储表达式。