Maison >développement back-end >C++ >Comment effectuer une jointure interne de deux DataTables en C# à l'aide de LINQ ?
Utilisation de C# LINQ pour la connexion interne DataTable
Les jointures internes combinent les lignes de deux DataTables en fonction d'une clé commune. Ceci est utile pour des tâches telles que la fusion d'informations de différentes tables ou le filtrage de données en fonction de critères spécifiques.
Supposons que nous ayons deux DataTables, T1 et T2, avec les champs suivants :
Nous devons créer une table commune TJ contenant les champs suivants :
En utilisant LINQ, nous pouvons effectuer une jointure interne sur la colonne CustID :
<code class="language-csharp">var results = from table1 in dt1.AsEnumerable() join table2 in dt2.AsEnumerable() on (int)table1["CustID"] equals (int)table2["CustID"] select new { CustID = (int)table1["CustID"], ColX = (int)table1["ColX"], ColY = (int)table1["ColY"], ColZ = (int)table2["ColZ"] };</code>
Cette requête génère une séquence d'objets anonymes contenant les colonnes concaténées. Nous pouvons ensuite parcourir les résultats et les afficher sur la console :
<code class="language-csharp">foreach (var item in results) { Console.WriteLine(String.Format("ID = {0}, ColX = {1}, ColY = {2}, ColZ = {3}", item.CustID, item.ColX, item.ColY, item.ColZ)); }</code>
Ce code produira le résultat suivant :
<code>ID = 1, ColX = 11, ColY = 21, ColZ = 31 ID = 2, ColX = 12, ColY = 22, ColZ = 32 ID = 3, ColX = 13, ColY = 23, ColZ = 33 ID = 4, ColX = 14, ColY = 24, ColZ = 34 ID = 5, ColX = 15, ColY = 25, ColZ = 35</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!