我有一个OData方法,我想从该方法返回一个实体列表。
这是我的代码
public async Task<IHttpActionResult> LoadSpecimenMachinings([FromODataUri] Int32 key)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
Int32 stage = 1;
string csvSpecimenCodes = "S0,S1,S2";
List<Machining> machinings = null;
var machiningResult = db.LoadSpecimenMachinings(key, stage, csvSpecimenCodes);
machinings = (from machining in machiningResult select machining).ToList();
return Created(machinings);
}
当我在行return Created(machinings);
中返回实体列表(加工是我的实体框架模型中的实体)时,我收到以下错误:
"message":" is not an entity type. Only entity types are supported.",
"type":"System.InvalidOperationException"
据我了解,遗憾的是Created
无法接收实体列表作为参数。
有没有办法在OData中返回实体列表和创建的HTTP代码?
我正在使用OData V3和Entity Framework 6。
答案 0 :(得分:3)
return Created()
旨在仅返回单个元素,并在您执行插入时使用,这将返回201 Created
状态代码
您应该使用return Ok(machinings)
这会返回200 OK
状态代码