1、建立数据库物理模型数据库
一、首先打开PowerDesigner—文件—逆向工程—数据库c#
二、在弹出窗口中选择数据库版本,最高10g选择,肯定数组
三、建立数据源spa
四、点击SetUP...设置数据源3d
五、填写数据库实例名code
六、填写用户名,密码点击connectorm
七、链接成功后点肯定,便可生成物理模型。对象
2、生成实体类blog
一、Tools → Generate Object-Oriented Model,ip
二、弹出框General页选择模型语言C#,Detail页中必定要把Check Model项取消,不然生成会出错。selection页选择要作实体类的表可进行全选。应用后肯定,可在左侧目录中生成刚才选择表的对象模型。
另外,此步必定要将Convert names to codes选项去掉,不然生成的字段_会丢失,并且会区分大小写。最好把此页4个勾都去掉。
三、导出实体类C#文件:
首先Language → Edit Current Object Language配置模板
C# Profile\Attribute\Templates\definition,下面两行处加上{ get; set; },第一行表示非数组型变量,第二行表示数组型变量格式
////////////////////以下
.if (%isValidAttribute%)
[%comment%\n]\
[%customAttributes%\n]\
[%oid%\n]\
.if (%Multiple% == false) and (%isIndexer% == false)
[%visibility% ][%flags% ]%dataType% %code%[ = %InitialValue%] {get;set;}
.else
[%visibility% ][%flags% ]%dataType%[%arraySize%] %code%[ = %InitialValue%] {get;set;}
.endif
.endif
若是要设置using,namespace等属性,在C# Profile\Classfier\Templates\sourceBody
///////////////////////////////////////////////2019.6.10更新 可将总体sourceBody内容改成以下: (加上\[Serializable\],注意[ ]前要加\,不然不会出现[ ])
.ifnot (%isInner%)
[\ %usings%\n ]\
namespace AMXM
{
\[Serializable\]
%definition%
}
.endif
///////////////////////////////////////////////
如下关于sourceBody内容为旧内容
注意中间有段原文是:
.ifnot (%Package.namespace%)
%definition%
.else
[\
%Package.comment%
]\
[\
%Package.customAttributes%
]\
namespace %Package.namespace%
{
%definition%
}
.endif
第一行表示若是不存在package.namespace,就不生成namespace,直接生成%definition%也就是各种的定义。若是存在package.namespace才生成namespace。
这样在没有package.namespace的状况下,生成的c#类就没有namespace,这样显然不知足要求,可修改上文以下:
.ifnot (%Package.namespace%)
namespace SysWindow.Forms.DataTransfer
{
%definition%
}
.else
[\
%Package.comment%
]\
[\
%Package.customAttributes%
]\
namespace %Package.namespace%
{
%definition%
}
.endif
也就是说,若是没有package.namespace,就本身写一个须要的namespace
四、Language → Generate C# 2 Code 选择导出位置,取消CheckMode和WSDL选择,便可导出每一个表的C#类文件。