.net core DataTable.Load()方法,返回的行缺少,少於reader讀出的行

 

我分析的原因是,datatable模式的schema默認是根據查詢的sql來的。起因是我寫的sql中帶有主鍵的列,查出來有很多重複值,
然後dt.load會默認把主鍵重複的行給合併掉,所以最終查詢出來的都是主鍵不重複的數據行,重複的行都被合併掉了,所以就缺失了。
另外,dt.load有個重載版本,我的理解是用來決定怎麼去合併這個重複主鍵行,感覺並不能用重載版本解決問題。
我就從sql入手,把主鍵列換到用關聯的其他表的邏輯外鍵列,在那個表可以是重複的,這樣schema就那個就不是主鍵的模式了,就允許重複,問題就解決了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章