習慣了用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的破解方法,。
不過那個註冊表路徑有問題,應該是[HKEY_LOCAL_MACHINE\SOFTWARE\.NET Refactoring\C# Refactoring Tool]
"Key"="Flier Lu"