我有一个名为MemberCompany的表,其中包含成员所拥有的每个公司的记录。模型如下。当我通过传递memberid的webapi方法查询它时,我可以在调试模式中看到它返回该成员的一个公司,但是当我在浏览器中运行它时,我可以看到它也返回整个成员列表。是否可以在没有两个引用表的情况下返回一个membercompany记录集合?我注释掉了包含这两个表的初始代码,但它们似乎仍然包含在响应中。
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; }
}
的WebAPI
[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();
}
答案 0 :(得分:1)
关闭上下文的延迟加载。我最好的猜测是它已经打开,并且在图表序列化时加载实体......
注意:这实际上是一个很好的想法在网络应用程序中,我建议你在全球范围内进行,这样你就不会因为后来的延迟加载而被性能问题所困扰,并且总是知道你将返回什么