1

我编写了服务器端代码,其中包括多对多关系的导航属性,如下所示。

var result = _contextProvider.Context.ResourceProperty.Include("AssociatedStandardResourceProperty.AssociatedLists").Where(t => t.ResourceId == resId);
        //Return matching resource properties
        return result;

但是,当我尝试从微风数据上下文中检索数据时,我收到查询执行错误,如下所示。

var getResourceProperties = function (resourceId, resourcePropertyObservable) {

        var query = EntityQuery.from('GetResourceProperties')
            .withParameters({ resourceId: resourceId })
            .expand("AssociatedStandardResourceProperty.AssociatedLists");

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

        function querySucceeded(data) {
            if (resourcePropertyObservable) {
                resourcePropertyObservable(data.results);
            }
            log('Retrieved listObservable from remote data source',
                data, true);
        }
    };

查询失败,所有数据都在我用 queryFailed 函数编写的日志消息中检索。

我还通过在客户端删除扩展并在服务器端删除包含然后在客户端包括扩展来进行检查。

请让我知道如何使它工作。

谢谢

4

2 回答 2

1

我观察到这个问题是由于两个实体之间的多对多映射造成的。删除关系后,我们能够检索 associatedEntities 数据

于 2013-08-08T07:13:17.243 回答
0

这里只是一个猜测,但是如果您在服务器上执行包含,那么您不需要在客户端上进行扩展,反之亦然。你的例子似乎是两者兼而有之。您收到的错误消息是什么?

于 2013-06-11T17:12:40.450 回答