Umbraco 8:获取对 WebAPI 中 DocumentType 定义的引用 class
Umbraco 8: Get reference to DocumentType definition in WebAPI class
问)如何在我的 UmbracoAPIController class 中获取对 DocumentType 定义的引用,以便我可以对属性进行 LINQ 查询?
背景:
我有一个从 JS 调用的 WebAPI 端点,它从我的数据库中获取 Book
项。我想在我的 LINQ 查询中基于 input
变量(例如 ISBN)进行过滤。为此,我需要在 UmbracoAPIController
class.
中导入 DocumentType 定义
尝试下面的方法,其中 Book
是我要转换为的类型:
var parent = Umbraco.ContentAtRoot().First().Children().FirstOrDefault(x => x.Name == "Booklist");
if (parent != null)
{
var isbn = HttpContext.Current.Request.Params["isbn"];
var books = parent.Children().Cast<Book>().Where(b => b.Isbn == isbn);
foreach (var book in books)
{
// Do something here....
}
}
因错误中断:
The type or namespace name 'Book' could not be found (are you missing a using directive or an assembly reference?)
注意:请不要告诉我我只是按照 'wrong' 的方式做所有事情,除非你有更明确、更好的选择,谢谢。
我不知道这是否有帮助,但我没有直接转换(甚至没有尝试过),只是使用默认的 属性 值直接,例如
var books = parent.Children().Where(page => page.HasProperty("Isbn") &&
page.HasValue("Isbn") &&
page.Value<string>("Isbn") == Isbn);
有兴趣了解直接转换的工作原理。
问)如何在我的 UmbracoAPIController class 中获取对 DocumentType 定义的引用,以便我可以对属性进行 LINQ 查询?
背景:
我有一个从 JS 调用的 WebAPI 端点,它从我的数据库中获取 Book
项。我想在我的 LINQ 查询中基于 input
变量(例如 ISBN)进行过滤。为此,我需要在 UmbracoAPIController
class.
尝试下面的方法,其中 Book
是我要转换为的类型:
var parent = Umbraco.ContentAtRoot().First().Children().FirstOrDefault(x => x.Name == "Booklist");
if (parent != null)
{
var isbn = HttpContext.Current.Request.Params["isbn"];
var books = parent.Children().Cast<Book>().Where(b => b.Isbn == isbn);
foreach (var book in books)
{
// Do something here....
}
}
因错误中断:
The type or namespace name 'Book' could not be found (are you missing a using directive or an assembly reference?)
注意:请不要告诉我我只是按照 'wrong' 的方式做所有事情,除非你有更明确、更好的选择,谢谢。
我不知道这是否有帮助,但我没有直接转换(甚至没有尝试过),只是使用默认的 属性 值直接,例如
var books = parent.Children().Where(page => page.HasProperty("Isbn") &&
page.HasValue("Isbn") &&
page.Value<string>("Isbn") == Isbn);
有兴趣了解直接转换的工作原理。