0

我有一个名为 MemberCompany 的表,其中记录了成员拥有的每家公司。模型如下。当我通过传入 memberid 的 webapi 方法查询它时,我可以在调试模式下看到它返回该成员的一个公司,但是当我在浏览器中运行它时,我可以看到它也返回整个成员列表。是否可以在没有两个引用表的情况下只返回成员公司记录的集合?我注释掉了包含这两个表的初始代码,但它们似乎仍然包含在响应中。

public partial class MemberCompany
    {
        public int id { get; set; }
        public int membership_id { get; set; }
        public string company_name { get; set; }
        public string company_address1 { get; set; }
        public string company_address2 { get; set; }
        public string company_town_city { get; set; }
        public Nullable<int> company_county { get; set; }
        public string company_postcode { get; set; }
        public string company_tel { get; set; }
        public string company_fax { get; set; }
        public string company_email { get; set; }
        public string company_contact { get; set; }
        public string company_web { get; set; }
        public string company_country { get; set; }
        public Nullable<System.DateTime> last_updated { get; set; }
        public Nullable<decimal> latitude { get; set; }
        public Nullable<decimal> longitude { get; set; }

        public virtual counties counties { get; set; }
        public virtual members members { get; set; }
    }

网络API

  [HttpGet("admin/api/membercompany/member/{member_id}")]
            public IEnumerable<MemberCompany> GetByMember(int member_id)
            {
                var Companies = db.MemberCompanies
                 //   .Include(t => t.counties)
                    //.Include(t => t.members)
                    .Where(m => m.membership_id == member_id);
                return Companies.AsEnumerable();
            }
4

1 回答 1

1

关闭上下文的延迟加载。我最好的猜测是它已打开,并且在图形序列化时加载了实体......

注意:这在 Web 应用程序中实际上是一个好主意,我建议您在全局范围内这样做,这样您就不会因为稍后的延迟加载而受到性能问题的困扰,并且始终准确地知道您将返回什么。

于 2013-08-22T11:52:35.870 回答