4

试图让这个工作。即使我只指定一个 (?$select=title),查询也会返回所有行。在 webapiconfig 我有:

var queryAttribute = new QueryableAttribute()
            {
                AllowedQueryOptions = AllowedQueryOptions.All
            };
            config.EnableQuerySupport(queryAttribute);

控制器如下所示:

public override IQueryable<_person_TITLE> Get()
        {
            return db.personTitle.AsQueryable();
        }
        protected override _person_TITLE GetEntityByKey(int key)
        {
            return db.personTitle.FirstOrDefault(p => p.person_TITLE_ID == key);
        }

        protected override void Dispose(bool disposing)
        {
            db.Dispose();
            base.Dispose(disposing);
        }

编辑:在进行了更多挖掘之后,我发现 $select 从未正式实施过。这就是默认情况下未在 AllowedQueryOptions 中打开它的原因。

那么,这是什么意思???拥有此选项至关重要。如果没有这个选项,将 odata web api 投入生产将是愚蠢的。在你自己的处理程序中编码会首先破坏使用 web api 的目的。

4

1 回答 1

4

我们现在正在努力。对 $select 和 $expand 的支持应该很快就会出现在每晚的构建中。

于 2013-04-19T00:23:48.217 回答