Add Extended Data Types With X++

Hi,I want to create EDT and add my new table with x++.I write below code ,I know my mistake but I don 't know how can I solve it.

When I create Id field I write it on name field.I tell they are different field How caan write this?

treeNode = TreeNode::findNode(#TablesPath);

treeNode.AOTadd(“NewTable”+this.ID).applObjectId();

treeNode=treeNode.AOTfindChild(‘NewTable’+this.ID);

treeNode.AOTcompile(1);

treeNode.AOTsave();

treeNode.AOTfindChild(‘NewTable’+this.ID);

fieldnode=treeNode.AOTfirstChild();

t1=TreeNode::findNode(#ExtendedDataTypesPath);

t2=t1.AOTaddSubNode(#NT_DBSTRINGTYPE);

ad=t2.AOTname();

fieldnode.addString(ad);

fieldnode=fieldnode.AOTfindChild(ad);

t1=null;

t2=null;

fieldnode=null;

t1=TreeNode::findNode(#ExtendedDataTypesPath);

t2=t1.AOTaddSubNode(#NT_DBSTRINGTYPE);

Id=t2.AOTname();

fieldnode.addString(Id);

fieldnode=fieldnode.AOTfindChild(Id);

thanks All Of