根据powerdesigner的OO模型生成C#代码

时间:2021-10-14 13:00:45

2007-05-15 08:34:11|  分类: 转贴部分 |  标签:学习帖子 |字号 订阅

习惯了用Powerdesigner设计数据库模型,XDE设计类图。因此我一般的设计方法是用PD做分析模型,然后,用分析模型生成数据库物理模型和C#代码,再用XDE从C#代码中反向工程生成XDE模型。

但是在今天生成代码时发现一个小小的问题:在PD生成代码时,它会将实体中的attribe生成C#中的public field,而不是property,找了半天终于发现有一种方法:

在\Resource Files\Object Languages\csharp.xol文件中保存了根据模型生成代码的配置,因此,只需要修改其中Attribute项的definition项即可。或者使用lanuage-->edit current object language..功能,将 Profile\Attribute\Templates\definition改为:

.if (%isValidAttribute%)

[%comment%\n]\

[%customAttributes%\n]\

[%oid%\n]\

.if (%multiplicity% == 1) and (%isIndexer% == false)

private    %dataType%  _%code%[ = %InitialValue%];

[%visibility% ][%flags% ]%dataType% %code%

{

get

{

return _%code%;

}

set

{

_%code%=value;

}

}

.else

private    %dataType%[%arraySize%]  _%code%[ = %InitialValue%];

[%visibility% ][%flags% ]%dataType%[%arraySize%] %code%

{

get

{

return _%code%;

}

set

{

_%code%=value;

}

}

.endif

.endif

(上面的代码可以做define进行简化。)

另外,今天在Flier's Sky那里找到了一个.NET Refactoring for VS.NET的破解方法,根据powerdesigner的OO模型生成C#代码

不过那个注册表路径有问题,应该是[HKEY_LOCAL_MACHINE\SOFTWARE\.NET Refactoring\C# Refactoring Tool]

"Key"="Flier Lu"