2016-08-01 47 views
0

我有一個拒絕與自我相關的表的DataSet的問題。RejectChanges DataSet中的自我關係

首先我在表中插入一個父行和一個子行。然後我調用表對象的RejectChanges方法或DataSet中的相同方法。 RejectChagnes方法拋出RowNotInTableException。

這是在於向世人證明這一點(TestRejectChanges.zip)的代碼:

DataSet dataSet = new DataSet(); 

//Parent row 
DataSet.TABLERow parentRowOverDataSet = dataSet.TABLE.AddTABLERow(1, "Parent", null); 

//Child row 
dataSet.TABLE.AddTABLERow(2, "Child", parentRowOverDataSet); 

//This line crash because the child row is detached before Rolback (in RejectChanges method code) 
dataSet.TABLE.RejectChanges(); 

//Also crash 
//foreach (DataSet.TABLERow row in dataSet.TABLE.ToList()) 
//{ 
// row.RejectChanges(); 
//} 

//Also crash 
//dataSet.RejectChanges(); 

我tryed重寫DataTable的RejectChanges但這種方法不是虛擬的。有沒有辦法使用DataSet的RejectChanges來做到這一點?

回答

0

我開了一個MS解決案例(使用MSDN LISENCE),並在一個月等待他們的答覆後,他們寫給我的未來:

我做了一些研究,並與我們的團隊的一個討論成員在 PG,這似乎是一個設計問題。

我通過您的故障排除和建議去:

非常感謝您對這個問題的反饋。在這個時候,我要寫一個DCR(設計變更請求),看看他們是否可以在即將發佈的版本中考慮這個功能 。

那麼暫時沒有辦法解決。