Web API odata:$select

问题描述 投票:0回答:1

尝试让它发挥作用。即使我只指定一行,查询也会返回所有行 (

?$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 的目的。

select asp.net-web-api odata
1个回答
4
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.