Comment puis-je définir un DataRelation entre un jeu de données de tables de données sur plusieurs colonnes?

Dans mon projet il y a deux tables de données dtNames et dtDetails.

Je ne sais pas sur SQL. Ici, je me connecte XML et les fichiers texte.

dtNames

EmpName    EmpRole

   a         2
   b         3
   c         4

dtDetails

 Empid     EmpName   EmpCity   EmpRole

  101        a         abc       3  //EmpRole not equal to above table EmpRole
  102        b         abc       3
  103        c         xyz       4
  104        d         pqr       5
  105        e         rst       6

Je veux relier ces deux tables de données basé sur le EmpName et EmpRole (ici comparant à dtNames) et stocker le résultat dans un DataSet dsMain(tableau de dtDetails) et ensuite de diviser les deux tables de données en fonction de comparaison comme matchedDataTable et unmatchedDataTable.

Je sais que cela peut être fait en utilisant DataRelation ou RowFilter mais je ne peux pas avoir une pensée comment le faire parce qu'il y a deux colonnes à comparer avec d'autres datatable deux colonnes qui, je ne sais pas.(Je suis débutant dans .net)

J'ai essayé le code ci-dessous: (pas de travail)

            DataSet dsMain = new DataSet();
            DataRelation newRelation = new DataRelation("processData"
                , dtNames.Columns["EmpName"], dtDetails.Columns["EmpName"]);
            dsMain.Relations.Add(newRelation);

Comme vous pouvez le voir Dans le code ci-dessus, je suis tout juste en comparant une colonne avec d'autres de la colonne. Comment comparer les deux. Je suis très proche

s'il vous plaît aider.

  • Cochez cette - msdn.microsoft.com/en-us/library/bb386998.aspx
  • Je pense que c'est linq? si c'est le cas, je ne veux pas qu'il. Je sais comment le faire à l'aide de linq mais mon projet est strictement non-linq. cant-il être fait à l'aide de dataset rowfilters ou datarelations..
  • Comme une note de côté: vous pourriez vouloir réévaluer votre conception de base de données (ou de vos requêtes d'extraction), comme les tables de données à l'instant ne sont pas normalisées (c'est à dire que vous ne font que répéter les EmpRole de données dans les deux tableaux).
InformationsquelleAutor Mr_Green | 2012-10-18