伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用脚本来创建实体的一个例子。

Posted on 2007-02-06 13:22  伯乐共勉  阅读(241)  评论(0编辑  收藏  举报
'可能大家经常要从各种工具中往PD导一些资料,很多时候看到PD的OLE   HELP也不知道何从下手。  
  '在PD的VB   Scripts目录中有一些例子。可以进行翻阅,以下以建一个CDM,建两个实体并建立其关系入手,来描述一下基本的用法。没有对异常进行捕捉。我看PD 版本中也有不少人对这个感兴趣,所以顺便写了一个小测试程序,很多地方不完善,主要是想抛砖引玉。此处的代码复制到PD的Tools/Execute   Commands/Edit   Run   Scripts就可运行,此处用PD9。0为例,其它的版本未试  
   
  dim   mdl   '声明模型  
   
   
  dim   entity1,   entity2   '声明两个实体  
  dim   Attributes1   ,   Attributes2    
  dim   relation1   '声明一个关系  
   
   
  set   mdl   =   CreateModel(PDCDM.cls_Model,   "")   '创建一个概念模型  
   
  set   entity1=   mdl.entities.createnew   '创建一个实体,  
  entity1.name   =   "master"     '赋实体的各属性...  
   
  set   Attributes1=entity1.Attributes.createnew   '给实体添加一个属性。  
   
  Attributes1.name   =   "dcol1"  
  Attributes1.code   =   "dcol1"   '属性的一些属性赋值.  
   
  set   entity2=   mdl.entities.createnew    
  entity2.name   =   "detail"  
   
  set   Attributes2=entity2.Attributes.createnew  
  Attributes2.name   =   "dcol1"  
  Attributes2.code   =   "dcol1"  
   
  set   relation1   =   mdl.relationships.createnew   '创建一个关系,注意,该关系必须先在模块上创建,再进行连接,否则会导致一些莫名其妙的问题,虽然通过 Entity.RelationShips.CreateNew也可以创建,但是它的Owner会不对。  
   
  relation1.Entity1   =   entity1  
  relation1.Entity2   =   entity2     '赋两个属性,表明谁与谁有关系。  
   
   
  relation1.Entity1ToEntity2RoleCardinality="1..n"     '设定关系的类型。  
  relation1.Entity2ToEntity1RoleCardinality="0..1"  
   
  'relation1.Entity1ToEntity2RoleMandatory   =   true  
  'relation1.Entity2ToEntity1RoleMandatory   =   true  
   
  mdl.DefaultDiagram.AttachAllObjects   '在缺省视图上附加所有的属性,你也可以AttachObject..  
   
  mdl.DefaultDiagram.AutoLayout   '为了使得布局简单,使用了自动布局  
  mdl.DefaultDiagram.OpenView   '打开当前视图。