2013-08-28 2 views
0

Основываясь на псевдокоде снизу, можете ли вы рассказать мне, могу ли я сделать что-то подобное, или будет лучше перезагрузить мой набор данных в случае сбоя ограничения?ConstraintException после EnforceConstraints в наборах данных C#

Спасибо!

var myDataSet = new DataTypedDataset(); // the dataset has some tables with ParentChild and ForeightKey relationships 
try{ 
     myDataset.EnforceConstraints = false; 
     LoadDataset(meDataset); // some method that fills the schema by data that violates given schema constraints 
     myDataset.EnforceConstraints = true; 
} 
catch(ConstraintException ce){ 
     LogConstraintException(ce);//some logging 
     myDataset.EnforceConstraints = false; 
} 


// suppose I have A = {1}, B = { {A=2, 2}, {A=1,2}} 
try{ 
     var aRow = myDataset.TableB.First().ARow; 
} 
catch(??/*What type of the exception will be here?*/ exception) 
{ 
    // hm... pitty 
    letsPlayFailureTollerantScenario(myDataset.TableB.First(), myDataset.TableA); 
} 

var rows = myDataset.TableA.GetBRows(); 

ответ

0

Так что после некоторых испытаний выяснилось, что это технически возможно. Но, честно говоря, я был бы счастливее, если бы эта задача была более жесткой в ​​отношении ограничений данных, потому что найти ошибку при такой реализации - это не торт пирога.

Смежные вопросы