我正在尝试编写一个LINQ查询,该查询返回在给定日期更改其地址的客户列表
Cusomters
- Name (nvarchar)
- Address (nvarchar)
- CheckInDate (datetime)
我首先会得到一个在特定日期签到的客户列表然后遍历每个客户并获得该客户的检查以查看是否有更改。这将导致大量数据库查询。有没有更有效的方法来做到这一点?
答案 0 :(得分:1)
这将检测所有通过yourDate
更改地址的客户。
var result = Customers.Where(c=>c.CheckInDate <= yourDate)
.GroupBy(c=>c.Name)
.Where(g=>g.GroupBy(c=>c.Address).Count() > 1)
.SelectMany(x=>x);