[英]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.