【发布时间】:2016-04-05 18:37:16
【问题描述】:
我在OData 支持下创建了ASP.NET WebAPI。
Project 类有一个名为 ProjectType 的字段,其中声明了可为空的整数类型:
public class Project
{
public string Id { get; set; }
public string Name { get; set; }
public int? ProjectType { get; set; }
}
我的 WebAPI 控制器:
public class LocalModelsController : ODataController
{
public IHttpActionResult Patch([FromODataUri] string key, Delta<Project> patch)
{
var projectUpdated = patch.GetEntity();
var projectType = projectUpdated.ProjectType;
//projectType is null here
}
}
当我从客户端向 WebAPI 发送 PATCH http 请求(使用 BSON 内容类型格式)时,Project 对象具有正确的 Id 和 Name 值,但 ProjectType 始终为 null。
但是当我将ProjectType字段类型从int?更改为double?时,它工作正常:
public double? ProjectType { get; set; }
是 ODATA 的限制还是我遗漏了什么?
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api asp.net-web-api-odata