C# ASP.NET WEBAPI引用的类型不会自动绑定

C# ASP.NET WEBAPI引用的类型不会自动绑定,c#,asp.net-web-api,C#,Asp.net Web Api,我有两个简单的课程: public class Customer { public virtual int Id{get;set;} public virtual string Name{get;set;} public virtual Brand Brand { get; set; } } public class Brand { public virtual int Id{get;set;} } 在我的webapi中,当我将客户“发布”或“

我有两个简单的课程:

public class Customer
{
    public virtual int Id{get;set;}
    public virtual string Name{get;set;}
    public virtual Brand Brand { get; set; }
}

public class Brand
{
    public virtual int Id{get;set;}        
}
在我的webapi中,当我将客户“发布”或“放置”到:

public void Post([FromBody]Customer entity)
它不会创建
品牌
参考

这是客户提交的数据:

Name: "Some Customer Name"
Brand.Id: "2"  // <<---- this suppose to instanciate Brand inside Customer with "3" as Id
Name:“某个客户名称”

Brand.Id:“2”/我想您应该提交JSON数据。在这种情况下,请尝试更改发送到的数据:

{
    Name: "Some Customer Name", 
    Brand: { Id: "2" }
}

由于Brand是一个子对象,您可以在一块单独的花括号中指定它的值。

这似乎是个问题。您确定提交的数据实际上是Web API要识别的正确格式吗?你能展示执行POST请求的代码以及请求主体的实际内容吗?@millimoose我已经更新了这个问题,请参见更新1这个问题与Web API关系不大,而与JSON.NET关系很大。JSON.NET是Web API中默认的JSON序列化程序,如果您了解JSON.NET序列化是如何工作的,您将获得问题的答案。