使用web api和实体框架通过json发送和接收不同的模型

时间:2014-03-31 09:19:15

标签: c# asp.net-mvc json entity-framework asp.net-web-api

我对实体框架和web api都很陌生,所以请原谅我,如果我想做的事情没有多大意义!是否可以在帖子上发送一个模型并在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?

我是否应该试图说服我的前端人员忽略分支数据,或者在某些方面我可以在响应中省略它?

由于

克里斯

1 个答案:

答案 0 :(得分:0)

我最终设法做到这一点的方式是使用急切加载而不是延迟加载。实现从每个关系中删除虚拟。这会阻止EF自动获取关系,然后在任何返回对象的代码中使用.Include()以包含您想要返回的任何关系。