web api odata:$select 不工作

Posted

技术标签:

【中文标题】web api odata:$select 不工作【英文标题】:web api odata: $select not working 【发布时间】:2013-04-12 04:58:21 【问题描述】:

试图让这个工作。即使我只指定一个 (?$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 的目的。

【问题讨论】:

【参考方案1】:

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

【讨论】:

$select 和 $expand 现在可以在夜间构建中使用。查看post,了解如何使用我们的夜间构建。 您计划通过 nuget 发布稳定版本的任何日期?

以上是关于web api odata:$select 不工作的主要内容,如果未能解决你的问题,请参考以下文章

从表中仅选择几列以使用 C# Web API 上的 Odata Select 查询进行映射

Web API OData V4 在本地工作,但不在 IIS 上

为啥断点不在 odata Web api 应用程序上运行?

使用 OData v4 Web API 脚手架时出错

具有 OWIN 自托管的 Web API 无类型 OData 服务返回 406 Not Acceptable

Web Api 2.2 OData V4 函数路由