2012-06-21 121 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();