Asp.net web api Web API 2:OData 4:GUID可能存在的错误?
我已经更新了我的解决方案,在Asp.net web api Web API 2:OData 4:GUID可能存在的错误?,asp.net-web-api,odata,asp.net-web-api2,Asp.net Web Api,Odata,Asp.net Web Api2,我已经更新了我的解决方案,在webapi 2中使用odatav4——我以前使用的是odatav3。出于某种原因,一些路由在以前工作正常的情况下会出现404错误。这些路由是具有实体密钥/ID的任何路由。。例如: [EnableQuery] public virtual SingleResult<TEntity> Get([FromODataUri] TKey key) { 正如我所说,它们以前工作得非常好,但现在我得到了404。其他路线(如以下)也可以: [Enabl
webapi 2
中使用odatav4
——我以前使用的是odatav3
。出于某种原因,一些路由在以前工作正常的情况下会出现404错误。这些路由是具有实体密钥/ID的任何路由。。例如:
[EnableQuery]
public virtual SingleResult<TEntity> Get([FromODataUri] TKey key)
{
正如我所说,它们以前工作得非常好,但现在我得到了404。其他路线(如以下)也可以:
[EnableQuery]
public virtual IQueryable<TEntity> Get()
{
请注意,我的实体正在为ID发送
GUID
s。在odata4
中是否存在GUID
s的错误?好的,是的。。。确认出了什么问题。。我会说这是一只虫子。。但也许MS有一些奇怪的原因;无论如何,这里有一个链接指向CodePlex上的问题:
基本上,在odatav3
中,您可以这样查询:/OData/Something(guid'some-guid-here')
,但在odata4
中,它被更改为:/OData/Something(some-guid-here)
[EnableQuery]
public virtual IQueryable<TEntity> Get()
{
public virtual IHttpActionResult Post(TEntity entity)
{