首页 新闻 会员 周边

问个三层架构Model的问题。

0
悬赏园豆:50 [已解决问题] 解决于 2009-11-30 10:12

我在Model中写了一个UserModel.cs(用户信息),其中包含两个属性GroupID,RoleID(所在的组ID,所属角色ID)。

User是一个表,Group是一个表,Role是一个表
现在有个需求,读取用户列表,在列表中显示组名GroupName和用户名RoleName。
SQLServerDAL层的方法是public List <UserModel> GetList();

现在的问题是UserModel.cs是没有组名和用户名这两个属性的,只有GroupID,RoleID。
这时候,大家都是怎么处理的?

1. 在UserModel.cs里加上组名GroupName和用户名RoleName?
2. 再写一个OtherUserModel.cs,包含组名GroupName和用户名RoleName?public List <OtherUserModel> GetList();
3. 直接就返回List <UserModel>,然后再前台再根据GroupID读GroupName?
4. 其他,请大家说说!

问题补充: 我是再写一个vUserModel,在数据库中写一个视图。这个vUserModel就是根据视图编写的。
往边界的主页 往边界 | 初学一级 | 园豆:6
提问于:2009-11-27 11:55
< >
分享
最佳答案
0

并非表与实体一一映射就等于对象了,model主要的用意还是在于抽象对象

根据你的实际业务需求去描述一个对象,已体现oo的思想

如若你要采用一一对应的model,那么你就要考虑另外设计一个对于实体抽象的类

就像你提到的,需要新建一个user类,他能描述一个user的所有属性,这样才称之为对象

收获园豆:50
persialee | 老鸟四级 |园豆:3217 | 2009-11-27 12:05
其他回答(3)
0

在UserModel.cs里加上组名GroupName和用户名RoleName?
推薦用這個.z這樣SQL語句也好弄點。查詢的次數也少點。

woody.wu | 园豆:3621 (老鸟四级) | 2009-11-27 12:45
0

实体类应该是用户名或是组名这样的属性而不是用户ID或是组ID吧?

Tom-X | 园豆:515 (小虾三级) | 2009-11-27 13:39
如果没有组ID,添加实体的时候怎么赋组ID呢?
支持(0) 反对(0) 軒轅劍 | 园豆:64 (初学一级) | 2010-01-25 11:53
0

两章表之间的主外键关系,你可以在User类中添加Group对象和Role对象,就可以了,然后在DAL中当获取User对象时获取Group对象和Role对象,这样在界面上可以显示的

梅卫军 | 园豆:4 (初学一级) | 2009-11-27 19:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册