1 pièce(s) jointe(s)
[2.0] ADO.NET : DataTable : méthode Copy : régression ?
Bonjour,
J'essaie de migrer une application .NET 1.1 vers .NET 2.0 et j'ai été surpris par une Exception de type EvaluateException qui a été déclenchée lors d'une copie d'un DataTable un peu particulier certes...
Je m'explique :
J'ai un DataSet ds qui contient un DataTable nommé "matable". Je crée un DataRelation (relation parent/enfant) avec deux DataColumn d'un même DataTable. J'ajoute à la collection Relation de mon DataSet, le DataRelation ainsi créé :
Code:
1 2 3 4 5 6
|
DataRelation relation;
DataColumn parent = ds.Tables["matable"].Columns["code"];
DataColumn enfant = ds.Tables["matable"].Columns["codeParent"];
relation = new DataRelation("maRelation", parent, enfant);
ds.Relations.Add(relation); |
J'ajoute une colonne à mon DataTable en effectuant une moyenne :
Code:
1 2 3
|
DataColumn col = new DataColumn("nvcol", Type.GetType("System.Decimal"), "Avg(child(maRelation).code)");
ds.Tables["matable"].Columns.Add(col); |
Jusqu'ici tout ce passe bien en 1.1 et en 2.0.
Par contre si je crée un nouvau DataTable à partir du DataTable précédent en utilisant la méthode Copy, une EvaluateException est lancée en 2.0 alors qu'en 1.1 çà fonctionne !
Code:
1 2
|
DataTable tmp = ds.Table["matable"].Copy(); |
Si quelqu'un a déjà été confronté à un problème similaire...
Merci de votre aide.