我們有兩個表:
家長
ID:整數//主鍵
名稱:字符串
數據集關係或linq尋找更好的性能?
兒童
FK://整數參考Parent.ID
MoreInfo:字符串
家長有100,000行,孩子有10,000行(父母中的很多行是在孩子未使用)
目前我們做的事:
MyDS.Relations.Add("PC", MyDS.Tables["Parent"].Columns["ID"],
MyDS.Tables["Child"].Columns["FK"]);
foreach (DataRow drChild in MyDS.Tables["Child"].AsEnumerable())
DataRow drParent = drChild.GetParentRows(MyDS.Relations["PC"]).FirstOrDefault();
我們想改變,只是使用LINQ手動搜索的:
foreach (DataRow drChild in MyDS.Tables["Child"].AsEnumerable())
DataRow drParent = MyDS.Tables["Parent"].AsEnumerable().FirstOrDefault(
drParent => drParent["ID"] == drChild["FK"]);
表兒童只通過一次,然後迭代數據集被丟棄。任何人都有使用某種方法或其他方法的經驗 - 如果僅使用一次,在method1中創建關係會浪費時間嗎?