0

这是为 CustomerStrings 条目调用控制器的方法:

  var getCustStrings = function (custStrings, custId) {

        var query = EntityQuery.from('CustomerStrings')
                .where('CustomerID', '==', custId)
                .select('CustomerStringNumber, CustomerString1')
                .orderBy('CustomerStringNumber');

        return manager.executeQuery(query)
            .then(querySucceeded)
            .fail(queryFailed);

        function querySucceeded(data) {
            if (custstrings){
                console.log(data.results);
                custstrings(data.results);
            }

            console.log('Retrieved [CustomerStrings] from remote data source');
        }
    };

问题是,如果我使用 .select(...) 子句,则返回的对象是普通的 javascript 对象,而我期望它们是dependentobservables。

如果我删除 .select() 子句,则返回的结果是正确的。

有什么解决办法吗?

4

1 回答 1

1

这正是 select 子句的工作原理。如果您想将返回的 DTO 映射回您的实体,只需在查询中添加一个 toType('') 子句

var query = entityQuery
    .from('CustomerStrings')
    .where(something)
    .select(whatever)
    .toType('CustomerStrings');
于 2013-09-27T11:45:28.297 回答