C# 使用webapi和实体框架通过json发送和接收不同的模型

C# 使用webapi和实体框架通过json发送和接收不同的模型,c#,asp.net-mvc,json,entity-framework,asp.net-web-api,C#,Asp.net Mvc,Json,Entity Framework,Asp.net Web Api,我对实体框架和web api非常陌生,所以如果我试图做的事情没有多大意义,请原谅!是否可以在post上发送一个模型,在get上接收另一个模型?我的例子 我有一个非常简单的公司模型: public class Company { [Required] public string companyName { get; set; } public virtual List<Branch> branches { get; set;

我对实体框架和web api非常陌生,所以如果我试图做的事情没有多大意义,请原谅!是否可以在post上发送一个模型,在get上接收另一个模型?我的例子

我有一个非常简单的公司模型:

  public class Company
    {
        [Required]
        public string companyName { get; set; }
        public virtual List<Branch> branches { get; set; }
    }

 public class Branch
    {
        public int companyID { get; set; }
        public string branchName { get; set; }
        public string address { get; set; }
        public string postcode { get; set;}
        public string phoneNumber { get; set; }
        public virtual Company company { get; set; }
    }
当我发布到myapp/api/公司时,我希望能够在公司旁边添加分支机构列表,这目前运行良好。但是,我的前端设计师要求公司在没有分支机构的情况下返回。我已经尝试过[jsonIgnore]对分支进行攻击,这对GET是有效的,但它也阻止了分支在帖子上写作。是否有某种方法可以在控制器上应用jsonIgnore

我应该试着说服我的前端人员忽略分支数据,还是有什么方法可以在响应中忽略它

谢谢


Chris

我最终设法做到这一点的方法是使用急切加载而不是惰性加载。要实现这一点,请从每个关系中删除虚拟。这将阻止EF在返回对象使用的任何代码中自动获取关系。Include可在该返回中包含您想要返回的任何关系。

试图理解,您希望在GET和POST过程中忽略分支吗?