【轉】PowerDesigner物理數據表生成C#實體類Model


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,選好生成的目錄點確定就生成了

 

---------------------
作者:六腹肌俊達哥
來源:CSDN
原文:https://blog.csdn.net/da454122373/article/details/54346217


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM