1

我用 asp.net mvc + 微风开发了一个应用程序。

到目前为止,我检索了一个特定的记录(基于 id),如下所示:

var getTransportById = function (transportId, transportObservable) {
       return manager.fetchEntityByKey('Transport', transportId, true)
               .then(fetchSucceeded)
               .fail(queryFailed);
}

function fetchSucceeded(data) {
   var s = data.entity;
   return ...
}

现在我需要检索相同的记录,但需要“扩展”名为sender的属性,该属性链接到另一个实体(表)。我没有找到通过fetchEntityByKey来“扩展”一个属性的方法,所以我使用了这样的查询:

var getTransportById = function (transportId, transportObservable) {
    var query = EntityQuery.from('Transports')
                           .where('id', 'eq', transportId)
                           .expand('Sender')
                           .orderBy(orderBy.transport);

    return manager.executeQuery(query)
        .then(fetchSucceeded)
        .fail(queryFailed);
}

function fetchSucceeded(data) {
    var s = data.results[0];
    return ...
}

我的问题:这是继续的好方法吗?还有其他方法吗?

谢谢。

4

1 回答 1

3

您可以从 EntityKey 创建查询,然后展开所需的任何属性。像这样的东西:

var entityKey = new EntityKey("Transport", transportId);
// expand whichever nav props you want here. 
var query = EntityQuery.fromEntityKey(entityKey).expand("Sender").orderBy(...);
return entityManager.executeQuery(query).then( {
  ...
});
于 2013-04-01T18:11:12.907 回答