简体   繁体   English

我想对由三个不同数据表组成的数据表使用内连接,并使用 c# 作为合并数据表返回结果

[英]I want to use inner join on data table's consisting of three different data table and return result as consolidated data table using c #

Table 1:Parent { Columns: ParentId , Name }表 1:Parent { 列: ParentId , Name }

Table 2:Child { Columns: ChildId , ChildName }表 2:Child { 列: ChildId , ChildName }

Table 3:Relationship {Columns: RelationshipId , PrimaryId(ParentId) ,SecondaryId(Child Id)}表 3:关系 {Columns: RelationshipId , PrimaryId(ParentId) ,SecondaryId(Child Id)}

Try following :尝试以下:

           DataTable parentTable = new DataTable();
           parentTable.Columns.Add("ParentId", typeof(string));
           parentTable.Columns.Add("Name", typeof(string));

           DataTable childTable = new DataTable();
           childTable.Columns.Add("ParentId", typeof(string));
           childTable.Columns.Add("ChildNameName", typeof(string));

           DataTable relationshipTable = new DataTable();
           relationshipTable.Columns.Add("RelationshipId", typeof(string));
           relationshipTable.Columns.Add("PrimaryId", typeof(string));
           relationshipTable.Columns.Add("SecondaryId", typeof(string));

           var results = (from r in relationshipTable.AsEnumerable()
                          join p in parentTable.AsEnumerable() on r.Field<string>("PrimaryId") equals p.Field<string>("ParentId")
                          join c in childTable.AsEnumerable() on r.Field<string>("SecondaryId") equals c.Field<string>("ChildID")
                          select new { r = r, p = p, c = c })
                         .ToList();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM