[100]PD进行反向工程,生成实体类的结构问题。。
用PD进行方向工程,生成部分表,可是生成的结构好像不能理解 -_-!。。
1、表结构大概是这样的
a) Admin
ID int PK
Name string
Account string
b) AdminModule
IdtbAdmin int FK //指向Admin 的 ID
IdtbModule int FK //指向 Module 的 ID
//##### 上面 2个字段组成联合主键
DetailPower string
c)Module
ID int PK
Name string
IdtbModuleCategory int PK //指向ModuleCategory 的 ID
d)
ID int PK
Name string
2、PD生成的
//账号实体类
public class Admin
{
public long Id;
public string Name;
public string Account;
public AdminModule AdminModule;
}
//连接账号和功能模块的实体类
public class AdminModule
{
/// S I U D分别表示Select Insert Update Delete
public string DetailPower;
public Module[] FK_Admin_Module_Module;
public Admin[] FK_Admin_Module_Admin;
}
//模块实体类
public class Module
{
public int Id;
public string Name;
public AdminModule AdminModule;
public ModuleCategory FkModuleModuleCategory;
}
//模块类别实体类
public class ModuleCategory
{
public long Id;
public string Name;
public Module[] FkModuleModuleCategory;
}
3、我觉得应该生成的结构
//账号实体类
public class Admin
{
public long Id;
public string Name;
public string Account;
//#######下面修改了
public AdminModule[] AdminModule;
}
//连接账号和功能模块的实体类
public class AdminModule
{
/// S I U D分别表示Select Insert Update Delete
public string DetailPower;
//下面添加了2个属性
public int IdtbModule;
public int IdtbAdmin;
//#######下面修改了
public Module FK_Admin_Module_Module;
//######下面修改了
public Admin FK_Admin_Module_Admin;
}
//模块实体类
public class Module
{
public int Id;
public string Name;
//######下面添加了个属性
public int IDtbModuleCategory
//#######下面修改了
public AdminModule[] AdminModule;
public ModuleCategory FkModuleModuleCategory;
}
//模块类别实体类
public class ModuleCategory
{
public long Id;
public string Name;
public Module[] FkModuleModuleCategory;
}
主要问题:
1、是连接表那一块,本来来说连接表AdminModule跟Admin应该是m:1关系阿,怎么变成了1:1了?
2、那些外键,比如Module类中的IdtbModuleCategory 还有AdminModule类中的IdtbAdmin和IdtbModule都直接被删除了?那写控制类的时候,比如插入一条Module数据?那必须通过访问ModuleCategory类,再获取ID之后插入?就是都要把ModuleCategory实例化?
3、还有就是,如果AdminModule表中的DetailPower字段去掉,那么PD在生成的OOM图中,根本就没有生成AdminModule的类?直接在Admin和Module类中体现多对多的关系。那么以后要插入AdminModule表的记录应该怎么插入呢?控制类应该怎么写?
4、如果AdminModule中的IdtbAdmin和IdtbModule没有被设计成联合主键,那么生成的关系图就跟我下面 自认为 的差不多,就是类里头少了外键的那些属性。
本人初学面向对象编程,看了点资料,一下问了这么多问题,希望大家不吝赐教,帮帮忙,^_^
问题点数:100、回复次数:5Top
1 楼LanseGhost(LanseGhost)回复于 2005-12-22 18:52:02 得分 0
自己顶~~Top
2 楼LanseGhost(LanseGhost)回复于 2005-12-22 20:57:02 得分 0
继续等待~~~Top
3 楼LanseGhost(LanseGhost)回复于 2005-12-23 08:39:10 得分 0
顶~~Top
4 楼zlp321002(Over The Rainbow)回复于 2005-12-29 08:41:47 得分 0
--用工具生成的只能是框架代码,具体实现还是要写代码的。Top
5 楼runnerrunning(千寻失业ing&那是我所不能了解的事)回复于 2006-01-24 22:43:13 得分 0
这个生成以后基本是这个样子,如果要满足自己的需要,就要自己修改模板,看你的好像是java脚本,修改:
tools->resource->object language->java 修改属性
这个过程比较麻烦的
申请版主中,请支持
怎么很少有用pd做oom的,还有写script的?
申请版主中,请支持
怎么很少有用pd做oom的,还有写script的?Top