breezejs EntityQuery失败了

时间:2015-06-02 20:55:21

标签: asp.net knockout.js breeze

我正在玩breezejs淘汰赛Todo-list教程/模板 (http://www.asp.net/single-page-application/overview/templates/breezeknockout-template)。 我决定创建一个新的Employees类,看看我是否可以绑定到员工列表。

视图引用VM'results'中的一个变量,该变量应该是一个可观察的员工阵列。

<section data-bind="foreach: results">
            <article>
                <header>
                    <form>                            
                        <input type="text" data-bind="value: firstName" />
                    </form>
                </header>                    
            </article>
        </section>       

在viewmodel中,我添加了结果var和一行,以便自动将员工加载到结果变量中。

/* Defines the Todo application ViewModel */
window.todoApp.todoListViewModel = (function (ko, datacontext) {
var results = ko.observableArray();
var todoLists = ko.observableArray(),        
    error = ko.observable(),    
    viewmodel = {
        showTestPage: showTestPage,
        results: results,
        todoLists: todoLists,
        error: error,
        addTodoList: addTodoList,
        deleteTodoList: deleteTodoList,
        clearErrorMessage: clearErrorMessage,
        searchTerms: ko.observable(""),
        performSearch: performSearch            
    };   

// load todoLists immediately    
datacontext.getTodoLists(todoLists, error);
// load employees
datacontext.getEmployees(results, error);
 return viewmodel;

这是我的datacontext函数

function getEmployees(empObservable, errorObservable)
{        
    return breeze.EntityQuery
        .from("Employees")            
        .where('lastName', 'startsWith', 'G')
        .orderBy("lastName")
        .using(manager).execute()
        .then(getSucceeded)
        .fail(getFailed);

    function getSucceeded(data) {
        empObservable(data.results);
    }
    function getFailed(error) {
        errorObservable("This is broke *BREAK*" + error.message + "*BREAK*");
    }
}

失败发生,我看到的error.message包含了我应该在结果中获得的数据。它甚至可以正确排序和过滤,但我只是在下面显示一条记录作为例子。我没有收到任何其他错误消息。

This is broke *BREAK*[{"$id":"1","$type":"ToDoBreeze.Models.Employee, ToDoBreeze","ID":"12345","LastName":"Gaston","FirstName":"Jake"}]*BREAK*

我认为没有其他人搞乱这个模板有类似的问题吗?

1 个答案:

答案 0 :(得分:1)

我花了一些时间找到这个问题的正确单词,但看起来这就是答案。我猜我会留下我以防万一其他人找到它。 (Query failed and the error.message is the data

基本上,我在模型中的员工初始化程序中有一些不应该存在的东西。