我試圖在數據庫中查找具有與提供的完全相同的子記錄集合的所有記錄。聽起來不太清楚,但只是掛斷,我會解釋。將內存中的集合與數據庫中的集合匹配的方法
有一個表的條碼領域條形碼和文檔:
Barcode | Document ________|_________ A | ABC A | CDE A | EFG B | XYZ B | VWX C | ABC D | ABC D | CDE D | EFG E | EFG
如果你注意到,條形碼一個和d具有完全相同的一套文件。條形碼ç和Ë是一個和d
子集。然後我有一組的到來在給函數的文檔,說的是一套ABC ,CDE EFG。這以列表形式出現。 (條形碼信息存儲在SQL Server中,通過LINQ to SQL檢索)。對於這組文件,我需要找到所有匹配的條碼:A和D。但忽略包含子文檔的條形碼:C和E應該被忽略。
此刻,我有遍歷所有文檔的遞歸函數,並通過傳入文檔集的一部分進行過濾。這爲我提供了匹配集,但也包括子集(如C和E),然後我篩選出子集。
我相信這不是問題的最佳解決方案,必須有更優雅的解決方案。但我很難想出任何其他方式來做到這一點。 有什麼建議嗎?
p.s. 我希望解釋是非常明顯的,我可以提供我的代碼,如果有人是足夠的自虐 - )
那麼從你的例子中,你想要設置'條碼(ABC)INTERSECT條碼(CDE)INTERSECT條碼(EFG)`? – Gabe 2011-12-16 09:37:35