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を介して 1 つのプロパティを「展開」する方法が見つからなかったため、次のようなクエリを使用しました。

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 に答える