2012-06-21 92 views
0
var testfilter = (from p in test1 where !(from Q in test2 select new {Q.Website,Q.SSN,Q.Class}) 
         Contains(new {p.Website,P.SSN,P.Class}) Select P).ToList(); 

    List<testResults> ResultList = (from R in testfilter 
            select new testResults 
            { 
             Website = R.Website, 
             SSN = R.SSN, 
             class = R.class, List1 = 'Yes' 
            }.ToList() 
            .Union (from Q in test2 
            select new testResults  
            { 
             Website = Q.Website, 
             SSN = Q.SSN,class = Q.class, Status = Q.Status, 
             List2 = 'Yes' 
            }.ToList(); 

我只有在test1的列表过滤重复

2)一些记录,以检查下列条件中列出了

1)记录很少存在仅存在于test2列表

3)两个列表中都存在少量记录,如果两个列表中都存在,则过滤它们并显示为一条记录。

上述查询适用于小于50k的记录,但我有超过200个k记录要显示在网格中。如何使用Except或其他方法改进查询?

+0

怎么可能u在DataGrid中显示200K记录的最改进的方法?分页应该完成。 – Tilak

回答

0

,你可以尝试使用不同的类似的东西,不知道这是否是解决问题只是一个建议

List<testResults> distinctResultList = ResultList.Distinct().ToList();