潜在客户之间存在一对多的关系 - >活动。我的要求是选择一个只包含一个最近添加的活动的潜在客户(w.r.t.d活动.date_created) 这是我的代码
public List<DOlead> getInactiveLeads(DateTime Start, DateTime End, DOuser user)
{
List<lead> ObjLeads = new List<lead>();
List<DOlead> ObjLead = new List<DOlead>();
//List<activity> actobj = _Context.activities;
company comobj = _Context.companies.Where(x => x.id == user.company_id).FirstOrDefault();
DateTime inactive = DateTime.Today.AddDays(-Convert.ToDouble(comobj.no_activity));
ObjLead = (from le in _Context.leads
join leadstatus in _Context.leads_status on le.lead_status_id equals leadstatus.id
join act in _Context.activities on le.id equals act.lead_id
where le.is_converted == false && le.date_created < inactive && le.date_created>Start && le.date_created<End
select new DOlead
{
id = le.id,
title = le.title,
is_converted = le.is_converted,
street_address = le.street_address,
}).OrderByDescending(x => x.title).ToList();
return ObjLead;
}
但是它提供了重复潜在客户的匹配数据。 请指导我?
答案 0 :(得分:0)
您的查询将为潜在客户的每项活动返回一个项目。因此,如果一个潜在客户有5个活动,您将获得5个项目。由于你只是使用lead对象的属性来构建这个DOlead对象,所以你会得到看起来很多重复的东西。
如果您只想查看最近活动的潜在客户,您应该从您关注的窗口中的活动列表开始,区分lead_ids列表,然后提取这些潜在客户。