powerdesigner 生成實體代碼 附加生成xml

轉自 http://www.java123.net/546230-1.html ,模板已修改成自己的

1.打開 Object Language Properties

菜單位置:Language → Edit Current Object Language

在 C# 2::Profile\Classifier\Generated Files ,創建一個 entity.xml 文件。

Name: entity.xml

FileName:%topContainerCode%.xml

Encoding: utf-8

Comment:

.if (%isGenerated%)

.set_object(_usingContext,,new)

[\ %NHebernateHead%\n]\

%NHebernateBody% \n

%NHebernateFoot%

.endif  

 

%NHebernateBody%

2.設置%NHebernateBody%模板的內容

在 C# 2::Profile\Classifier\Templates ,新建一個模板 NHebernateBody


<entity name="%Code%" remarks="%Name%" primarykey="id" >
\n
.foreach_item(Attributes)
<field name="%Code%" type="%dataType%" remarks="%Name%" isnull="false"></field>
\n
.next

</entity>

3.配置輸出NHibernate的xml文件

在 C# 2::Profile\BasePackage\Templates\Visual Studio ,將模板修改爲:

.// Declare classifiers of the package
.foreach_item(Classifiers,,,%IsShortcut%==false)
.if (%IsSelected%) and (%isInner% == false)
<File
RelPath = "%sourceFilePath%"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "%sourceFilePath%\\%topContainerCode%.xml"
BuildAction = "EmbeddedResource"
/>
.endif(\n)
.next
.// Declare classifiers of the subpackages
.foreach_item(Packages,,,%IsShortcut%==false)
.if (%isAssembly% == false)
%ProjectSourceFiles%
.endif
.next

NHibernate的xml配置完成。

 

 

最後,一起導出實體和NHibernate的.xml文件

菜單位置:Language → Generate C# 2 Code

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章