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);

有兴趣了解直接转换的工作原理。