[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、回复次数:6Top
1 楼LanseGhost(LanseGhost)回复于 2005-12-22 18:51:38 得分 0
自己顶~~Top
2 楼Bruce_H21(无痕)回复于 2005-12-22 20:04:11 得分 0
生成的数据实体对象的数量和数据表一致Top
3 楼kason_j(伊松)回复于 2005-12-22 20:18:14 得分 0
帮顶Top
4 楼LanseGhost(LanseGhost)回复于 2005-12-22 20:56:39 得分 0
继续等待~~~Top
5 楼LanseGhost(LanseGhost)回复于 2005-12-23 08:39:02 得分 0
顶~~Top
6 楼LanseGhost(LanseGhost)回复于 2005-12-23 10:27:45 得分 0
ddTop