猿问

问个三层架构Model的问题。

我在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. 其他,请大家说说!


拉丁的传说
浏览 380回答 2
2回答

慕容708150

并非表与实体一一映射就等于对象了,model主要的用意还是在于抽象对象根据你的实际业务需求去描述一个对象,已体现oo的思想如若你要采用一一对应的model,那么你就要考虑另外设计一个对于实体抽象的类就像你提到的,需要新建一个user类,他能描述一个user的所有属性,这样才称之为对象

慕无忌1623718

在UserModel.cs里加上组名GroupName和用户名RoleName?&nbsp;推薦用這個.z這樣SQL語句也好弄點。查詢的次數也少點。
随时随地看视频慕课网APP
我要回答