Power Designer的使用 创建数据库表模型,生成sql语句,生成C#实体类

几年前用过PowerDesigner,好几年没用,有点忘记了,在这里记个笔记,需要的时候翻一翻

PowerDesigner版本16.5

下面的例子是以MySQL数据库为准

生成C#实体类

一 安装

1.1 安装

不让放网盘链接,审核通不过。。。。

解压缩后里面有三个压缩包:安装文件,破解文件,汉化文件

安装就无需赘叙,一路下一步就行,实在不放心的百度一下,你就知道。

1.2 汉化

解压后,覆盖到安装目录,然后启动看一下效果。汉化完成……

二 新建表

2.1 建表

左上角文件→新建模型→Modeltypes→Physical Data Model→Physical Diagram,如下图

新增表

设置字段说明,字段名称,字段类型,字段长度,主键,外键

在这里设置显示的列,比如我想直接设置默认值和字段描述,在这里勾上即可

2.2 设置唯一索引 unique

Table Properties→Indexes→属性,在弹出的Index Properties对话框里选择Columns,点击添加行,选择列即可,如下图

2.3 设计器中,字段没有注释的设置

第一步

生成的sql语句中没有注释,可以通过下面方式设置

数据库→Edit Current DBMS...→常规→MySQL5.0→Script→Object→Column→Add

将最后的@OBJTLABL 改为 COMMENT 就行了

第二步

数据库→生成数据库→Format

在 Format 页中,勾选 Generate name in empty comment单击确定就可以生成相应的代码,
代码中就会出现上面的注释了

 2.4 设置自增

选中要设置自增的字段,双击,弹出列属性对话框,选中Identity即可

三 生成sql语句

3.1 单个表的生成语句

双击表设计,在弹出的Table Properties中选中Preview选项卡,可以查看单个表的生成语句。

3.2 所有表的生成语句

数据库→生成数据库→点击确定按钮

显示下面这个图,说明已经生成成功,到对应文件夹中找到.sql文件即可。

四 生成实体类

工具→Generate Object-Oriented Model...

对象语言选择C# 2.0,点击确定

选上Name,Code,Comment

这个时候工具栏会多出来一个语言工具(注意,此时数据库工具没了)

语言→Edit Current Object Language...

见下图,打开definition,把如下模板代码整个复制下来,粘贴到右侧输入框中,点击确定

.if (%isGenerated%) and (%isValidAttribute%)
/// \<summary\>
[%comment%\n]\
/// \</summary\>
[%oidDocTag%\n]\
[%customAttributes%\n]\.if (%Multiple% == false) and (%isIndexer% == false)
[%visibility% ][%flags% ]%dataType% 
.convert_name(%fieldCode%,,"_",FirstUpperChar){ get; set; } [ = %InitialValue%;].else
[%visibility% ][%flags% ]%dataType%[%arraySize%] 
.convert_name(%fieldCode%,,"_",FirstUpperChar){ get; set; } [ = %InitialValue%;].endif
.endif

点击 语言→Generate C# Code...

弹出这个页面,说明生成成功

下面是生成的实体类文件

到此结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/459066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows+vscode配置远程Linux开发环境

1.Linux运行sshd服务 安装openssh-server sudo apt install openssh-server 开启服务 sudo service ssh start 检查sshd是否开启 sudo ps -aux | grep sshd 2.vscode上安装RemoteDevelopment插件 其他依赖性会自动安装 3.配置远程Linux主机信息 Linux主机ip 4.在vscode…

leetCode二叉树的堂兄弟节点 II

题目 给你一棵二叉树的根 root &#xff0c;请你将每个节点的值替换成该节点的所有 堂兄弟节点值的和 。 如果两个节点在树中有相同的深度且它们的父节点不同&#xff0c;那么它们互为 堂兄弟 。 请你返回修改值之后&#xff0c;树的根 root 。 注意&#xff0c;一个节点的…

代码随想录算法训练营第29天 | 491.递增子序列 ,46.全排列 ,47.全排列 II

回溯章节理论基础&#xff1a; https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 491.递增子序列 题目链接&#xff1a;https://leetcode.cn/problems/non-decreasing-subsequences/ 思路&#xff1a; 本题求自…

关于域名递归解析服务的问题

域名递归解析服务是互联网基础设施的重要组成部分&#xff0c;它允许用户通过域名来访问网站或应用程序。然而&#xff0c;在某些情况下&#xff0c;域名递归解析服务可能会出现问题&#xff0c;导致用户无法正常访问网站或应用程序。本文将探讨域名递归解析服务可能面临的问题…

一文带你搞定搭建自己的组件库Rollup

一文带你搞定搭建自己的组件库(rollup.js) 目前Vue和React都是采用rollup.js进行打包,我们在公司开发的时候也可以用rollup搭建一个自己的组件库放到你的项目中,简化项目的结构项目性能。 接下来我将带你使用rollup从0——1搭建一个在vue中使用的组件库 开发前准备 我的开发…

提示由于找不到msvcp120dll无法继续执行此代码怎么办

在计算机系统中&#xff0c;MSVCP120.dll是一个至关重要的动态链接库文件&#xff0c;它是Microsoft Visual C Redistributable Package的一部分&#xff0c;对于许多基于Windows的应用程序运行至关重要。当系统提示“msvcp120dll丢失”时&#xff0c;意味着该文件可能由于误删…

c++设计模式之装饰器模式

作用 为现有类增加功能 案例说明 class Car { public:virtual void show()0; };class Bmw:public Car { public:void show(){cout<<"宝马汽车>>"<<endl;} };class Audi:public Car { public:void show(){cout<<"奥迪汽车>>&q…

【Unity】QFramework通用背包系统优化:使用Odin优化编辑器

前言 在学习凉鞋老师的课程《QFramework系统设计&#xff1a;通用背包系统》第四章时&#xff0c;笔者使用了Odin插件&#xff0c;对Item和ItemDatabase的SO文件进行了一些优化&#xff0c;使物品页面更加紧凑、更易拓展。 核心逻辑和功能没有改动&#xff0c;整体代码量减少…

并发容器(Map、List、Set)实战及其原理

目录 JUC包下的并发容器 CopyOnWriteArrayList 应用场景 CopyOnWriteArrayList使用 CopyOnWriteArrayList原理 CopyOnWriteArrayList 的缺陷 扩展知识&#xff1a;迭代器的 fail-fast 与 fail-safe 机制 ConcurrentHashMap 应用场景 ConcurrentHashMap使用 数…

IT行业针对大数据的安全文件传输的重要性

在数字化浪潮的推动下&#xff0c;数据已成为现代社会的宝贵资源。特别是大数据&#xff0c;以其海量、多样化、高速增长和低价值密度的特性&#xff0c;对信息技术&#xff08;IT&#xff09;行业产生了深远影响。大数据的应用不仅推动了云计算、物联网和人工智能等领域的发展…

算法——前缀和算法

1. 什么是前缀和算法 前缀和算法&#xff08;Prefix Sum&#xff09;是一种用于快速计算数组元素之和的技术。它通过预先计算数组中每个位置前所有元素的累加和&#xff0c;将这些部分和存储在一个新的数组中&#xff0c;从而在需要计算某个区间的和时&#xff0c;可以通过简单…

Backtrader 文档学习- Sizers

Backtrader 文档学习- Sizers 1.概述 智能仓位 Strategy提供了交易方法&#xff0c;即&#xff1a;buy&#xff0c;sell和close。看一下buy的定义&#xff1a; def buy(self, dataNone,sizeNone, priceNone, plimitNone,exectypeNone, validNone, tradeid0, **kwargs):注意&…