C# Web API 2响应中缺少Odata元数据格式
我有一个WebAPI2项目,希望将模型公开为Odata服务,以便可以查询 这是我所做的设置: 在C# Web API 2响应中缺少Odata元数据格式,c#,odata,asp.net-web-api2,C#,Odata,Asp.net Web Api2,我有一个WebAPI2项目,希望将模型公开为Odata服务,以便可以查询 这是我所做的设置: 在WebApiConfig.Register()中,我有 config.AddODataQueryFilter(); 以下代码位于值控制器中 // GET api/values [EnableQuery (PageSize=1)] public IQueryable<TestProduct> Get() { var str = new List<TestProduct>
WebApiConfig.Register()中,我有
config.AddODataQueryFilter();
以下代码位于值控制器中
// GET api/values
[EnableQuery (PageSize=1)]
public IQueryable<TestProduct> Get()
{
var str = new List<TestProduct>
{
new TestProduct {Name = "Dark", Value = "Lord"},
new TestProduct {Name = "Dark", Value = "Elf"}
};
var hello = str.AsQueryable();
return hello;
}
我得到的结果是:
[
{
"Name": "Dark",
"Value": "Elf"
}
]
我缺少$odata.metadata
属性和inlinecount
属性。我如何才能将其添加到响应中。
理想情况下,我会寻找:
[
"odata.metadata":"http://localhost:43111/api/$metadata#TestProducts",
"odata.count":"1",
"value":
{
"Name": "Dark",
"Value": "Elf"
}
]
我不打算使用EF。试试这个:
http://localhost:51823/api/values?$filter=Name eq 'Elf'&$inlinecount=allpages
要获取元数据信息,请将odata=fullmetadata添加到Accept标头,例如:
Accept:application/json;odata=fullmetadata
Accept:application/json;odata=fullmetadata