the differences of DataRelation class between 1.1 and 2.0

when u use the follow code on 1.1.it will compile without error. 

        /// <summary>
        
/// Test table relation.
        
/// </summary>

        public void Relation_1_1()
        
{
            DataTable dtParent 
= this.CreateDataTable();
            dtParent.TableName 
= "Parent";

            DataRelation relations 
= ds.Relations.Add("Relation", dtParent.Columns["index"], dtParent.Columns["parent_index"], false);

            
this.builder.Append(" Get the data from tree ROOT.");
            
this.GetLayerFromParent(ds, relations);
            
this.PrintDataTable(ds.Tables["parent"]);

            
this.builder.Append(" Get the data from tree CHILDS.");
            
this.GetLayerFromChilds(ds, relations);
            
this.PrintDataTable(ds.Tables["parent"]);

            
this.DebugPrint(this.builder.ToString());
        }

while it will run error on 2.0 with "Cannot create a DataRelation if Parent or Child Columns are not in a DataSet.".

if u want to run normally,u can use this cod:

/// <summary>
        
/// Test table relation.
        
/// </summary>

        public void Relation_2_0()
        
{
            DataTable dtParent 
= this.CreateDataTable();
            dtParent.TableName 
= "Parent";

            DataSet ds 
= new DataSet();
            ds.Tables.Add(dtParent);
            DataRelation relations 
= ds.Relations.Add("Relation", ds.Tables["Parent"].Columns["index"], ds.Tables["Parent"].Columns["parent_index"], false);

            
this.builder.Append(" Get the data from tree ROOT.");
            
this.GetLayerFromParent(ds, relations);
            
this.PrintDataTable(ds.Tables["parent"]);

            
this.builder.Append(" Get the data from tree CHILDS.");
            
this.GetLayerFromChilds(ds, relations);
            
this.PrintDataTable(ds.Tables["parent"]);

            
this.DebugPrint(this.builder.ToString());
            
            
//this.WriteToTxtFile(this.builder.ToString());
        }

what's your idea?

原文地址:https://www.cnblogs.com/AloneSword/p/2237541.html