实体类的设计和加载问题

lawbc 2009-04-05 01:07:22
现在有用户表、角色表、资源表、用户角色关联表、角色资源关联表,他们的关系是:一个用户有多个角色,一个角色有多个资源
设计成实体类应该是:
public class UserInfo
{
private string userId;
private string userName;
//private RoleInfo role;需要角色属性吗
}
public class RoleInfo
{
private int roleId;
private string roleName;
//private PageInfo page;需要资源属性吗
}
public class PageInfo
{
private int pageId;
private string pageUrl;
}
1.请问用户角色关联表、角色资源关联表需要实体类吗?如果需要的话是不是每个关联表都要有对应的dal类和bll类
2.因为一个用户有多个角色,所以用户实体类里需要角色这个属性吗,如果需要的话是不是每次读取用户的时候都要加载角色呢
...全文
162 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
M_arlboro 2009-04-05
  • 打赏
  • 举报
回复
就看看 不说话.
橙子撸代码 2009-04-05
  • 打赏
  • 举报
回复
public class UserInfo
{
private string userId;
private string userName;
//private RoleInfo role;需要角色属性吗

List<RoleInfo> objList; //存改用户的相关角色信息
}
public class RoleInfo
{
private int roleId;
private string roleName;
//private PageInfo page;需要资源属性吗
}

这样不就可以满足你一个用户有多个角色信息了吗
不知道我说的对不啊。
li_dao_hang_1989 2009-04-05
  • 打赏
  • 举报
回复
需要需要……
liuyeede 2009-04-05
  • 打赏
  • 举报
回复
使用membership组件实现吧。
蒋晟 版主 2009-04-05
  • 打赏
  • 举报
回复
除非关联类有自己的数据,否则可以用查询来替代。
lawbc 2009-04-05
  • 打赏
  • 举报
回复
ls我也不想这样的啊,但是你不这样的话页面显示的时候很麻烦(通常需要显示一个视图)
因为数据库是一对多或者多对多的关系,所以我们设计实体类的时候也应该这样设计的啊
而这样的设计带来了很多麻烦,这也是为什么要orm的原因吧,因为实体类很难表达
关系数据库的关系,对于一对多或者多对多的关系dal在加载的时候也会很麻烦,到底是要加载所有
的关联表还是不要,

我还有个问题就是:存在一对多或者多对多的时候就要设计一个关系表,那么这个关系表要设计实体类吗,
如果不要的话关系吧的dal操作放在哪
xyzvalue 2009-04-05
  • 打赏
  • 举报
回复
实体类不是这么用的吗?实体类在多层开发中只是作为数据载体传递的,你弄这么多关系,是加大复杂度,很不好
yagebu1983 2009-04-05
  • 打赏
  • 举报
回复
能说说你这样加载实体类的意义吗?
lawbc 2009-04-05
  • 打赏
  • 举报
回复
如果在userinfo类里加上List <RoleInfo> objList; //存改用户的相关角色信息
那么在userInfodal就要去读取List <RoleInfo>,这样会造成代码很多重复的
因为在roleInfodal已经有读取List <RoleInfo>的方法了,除非userinfodal去调用roleinfodal的读取的方法
不知道这样调用身份可行啊,
lawbc 2009-04-05
  • 打赏
  • 举报
回复
ls这样设计之后你是怎么读取数据的呢
lawbc 2009-04-05
  • 打赏
  • 举报
回复
我想了解的是:
在数据库表是1对多(多对1)、多对多的情况下实体类是怎么设计的,并且相关的dal是怎么读取数据的
云想慕尘 2009-04-05
  • 打赏
  • 举报
回复
问题一需要实体类,当然你也可以用相关属性代替实体类,即只实现需要用到的属性,如果引用实体类的话在dal和bll中就当然要有对应的实现了,如果只是引用部分属性的话就不必了
问题二如果一个用户有多个角色的话,那你应该另外建一张表用来存储想对应的信息如:
user1 role1
user1 role2
user1 role4
user2 role3
user2 role4

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧