Maison > développement back-end > C++ > Comment effectuer une jointure interne sur des DataTables en C# à l'aide de LINQ ?

Comment effectuer une jointure interne sur des DataTables en C# à l'aide de LINQ ?

DDD
Libérer: 2025-01-12 17:32:43
original
858 Les gens l'ont consulté

How to Perform an Inner Join on DataTables in C# using LINQ?

Jointure interne à DataTables à l'aide de LINQ en C#

La jointure interne est une opération de base de données relationnelle qui récupère les données de deux ou plusieurs tables basées sur une colonne commune. En C#, vous pouvez effectuer des jointures internes sur des DataTables à l'aide de diverses technologies, notamment LINQ.

Méthode LINQ :

Si LINQ est une option, l'extrait de code suivant montre comment effectuer une jointure interne sur deux DataTables (T1 et T2) :

<code class="language-csharp">DataTable dt1 = new DataTable();
dt1.Columns.Add("CustID", typeof(int));
dt1.Columns.Add("ColX", typeof(int));
dt1.Columns.Add("ColY", typeof(int));

DataTable dt2 = new DataTable();
dt2.Columns.Add("CustID", typeof(int));
dt2.Columns.Add("ColZ", typeof(int));

// 添加一些示例数据
for (int i = 1; i <= 5; i++)
{
    dt1.Rows.Add(i, 10 + i, 20 + i);
    dt2.Rows.Add(i, 30 + i);
}

// 使用LINQ执行内连接
var results = from table1 in dt1.AsEnumerable()
              join table2 in dt2.AsEnumerable() on table1.Field<int>("CustID") equals table2.Field<int>("CustID")
              select new
              {
                  CustID = table1.Field<int>("CustID"),
                  ColX = table1.Field<int>("ColX"),
                  ColY = table1.Field<int>("ColY"),
                  ColZ = table2.Field<int>("ColZ")
              };

// 输出结果
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>
Copier après la connexion

Cette requête LINQ effectue une jointure interne à l'aide de la clause on, qui spécifie que les colonnes CustID des deux tables doivent être égales. Le résultat est renvoyé sous forme de type anonyme contenant les colonnes CustID, ColX, ColY et ColZ.

Sortie :

Ce code affichera les résultats suivants :

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

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal