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(); 

我必须在以下列表中检查以下条件

1) 很少有记录只存在于test1列表中

2) Fever Records 仅存在于test2列表中

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

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

4

1 回答 1

0

你可以尝试使用不同的东西,不确定这是否是解决问题的最佳方法,只是一个建议

 List<testResults> distinctResultList = ResultList.Distinct().ToList();
于 2012-06-21T04:45:00.333 回答