我期待获得网络中朋友的所有不同朋友和朋友的列表。然后,我想从X日期开始,为这些人提供所有新注册。我已经在网上阅读了大量关于如何使用linq for sql'where in'子句的方法,但是我无法按照发现演示的方式来应用它。当前的代码也不会返回完整的代理,正如我选择的那样。我只选择特定的数据,因为如果它返回完整的代理记录,我似乎无法获取一个不同的列表。为了增加这个问题,现在我已经使这个返回的匿名类型,我的注册查询不能运行它。对我来说最好的办法是什么?Linq声明使用在哪里
关键问题:
- 我需要返回代理的完整模型,但不同的
- 我需要拉最新注册等的收集剂中,优选的使用“其中在”条款,所以我不必做一个循环,达到数百万次。
抓斗的人在网络中的不同列表
var network = agent.Friends.Where(f => f.FriendAgent != null)
.SelectMany(f => f.FriendAgent.Friends
.Select(c => c.FriendAgent)
.Where(x => x != null))
.Distinct<NPlay.Common.Models.Agent>(new TestEquality())
.Take(100).ToList();
^---利用贾里德的答案中所描述的方法---^
选择最新的解决自X日起注册
var query =
from s in _signupRepository.List.OrderByDescending(s=>s.Created).Where(s => s.Created >= startDate && s.Created <= endDate && !s.Canceled.HasValue)
where network.Contains(s.Membership)
select s;
将只包含似乎没有我的权利,但没有其他办法,我用它,这是远程接近我一直在寻找:/
解决 删除ID现在,该顶部是设置和它的工作原理:)
为什么你有'动态'而不是'var'? –
小细节,我打算给它添加动态属性,但是这可以改变我对这个类型不熟悉。我制作了一个电子邮件模板处理器系统,它使用动态模型,整个方法的最终模型将是一个动态模型,但这个特殊的调用不一定非要。因为我'修复'第一个查询项目不编译,因为它是一个匿名类型,而不是它以前工作:/ – Tony