PowerDesigner16.5物理數據表生成C#實體類Model
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/da454122373/article/details/54346217
model實體類是什麽:
在三層架構UI,BLL,DAL中,有時用戶插入一條記錄到數據庫中,必然會有不少數據,按正常編程,也必然會一下子調用某個函數傳入不少參數。為了減少參數的數量,達到高效簡潔的效果,一般會用model實體類作為傳輸數據的載體。
model實體類一般對應著數據庫裏的字段,一個類實體對應一張表。比如:user數據表 有id,password,name,那麽實體類usr也相應id,password,name屬性來作為數據載體。但是有時我們在PowerDesigner設計的數據庫表太多了,如果親手碼實體類model真的太累,太低效了。好在PowerDesigner可以自動生成實體類這個功能。
PowerDesigner生成C#實體類:
前提:現有物理數據表,比如:
在tools ?- ?Generte Object-Oriented Model,點擊打開如下
打開之後出現下圖,選C#
在detail中convert names into codes,打勾則用名字作為實體類代碼裏的名稱,不打勾就用表中code作為實體類代碼裏的名稱。
之後點確定生成類圖。
這時可以看到language中有edit current object language和generage C# 2 code,
edit current object language中profile ?- ?Attribute ?- ?Templates 裏有個definition文件。可以根據自己需要修改實體類模板
當然我的模板是:
.if (%isGenerated%) and (%isValidAttribute%) [%comment%\n][%oidDocTag%\n][%customAttributes%\n]? ?.if (%Multiple% == false) and (%isIndexer% == false) private [%flags% ]%dataType% %fieldCode%[ = %InitialValue%]; [%visibility% ][%flags% ]%dataType%? .convert_name(%fieldCode%,,"_",FirstUpperChar) { ? ?get { return %fieldCode%; } ? ?set { %fieldCode% = value; } } ? ?.else private [%flags% ]%dataType%[%arraySize%] %fieldCode%[ = %InitialValue%]; [%visibility% ][%flags% ]%dataType%? .convert_name(%fieldCode%,,"_",FirstUpperChar) { ? ?get { return %fieldCode%; } ? ?set { %fieldCode% = value; } } ? ?.endif .endif
最後generage C# 2 code,選好生成的目錄點確定就生成了
在借鑒了http://blog.csdn.net/zhangrun1/article/details/29578825,寫這個只是自我的一個技術總結,方便下次忘記了查看,也順便地方便一下他人
PowerDesigner16.5物理數據表生成C#實體類Model