2013-08-28 2 views
0

Basé sur le pseudo-code ci-dessous pourriez-vous me dire si je peux faire quelque chose comme ceci ou il vaudra mieux recharger mon jeu de données en cas d'échec de la contrainte?ConstraintException après EnforceConstraints dans les jeux de données C#

Merci!

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(); 

Répondre

0

Après quelques tests, il s'est avéré que c'était techniquement possible. Mais pour être honnête, je serais plus heureux si la tâche était plus stricte en ce qui concerne les contraintes de données, car trouver une erreur dans une telle implémentation n'est pas une paix de gâteau.

Questions connexes