User表 UserID UserName
Order表 OrderID UserID Content
按照一般的表映射为实体类则为
public class User
{
   public int UserID;
   public string UserName;
}public class Order
{
   public int OrderID;
   public int UserID;
   public string Content;
}
//以上为略写但在实际应用中我可能会在后台获取所有的Order信息列表,要求展现OrderID,UserName,Content三个字段.
问题如下
1,如果返回的List<T>那么这个T无论为User还是Order都是无法满足要求的。(当然你单独写个实体来返回是可以)
2,如果仅仅返回List<Order>,然后再根据UserID获取UserName,这里我觉得效率不行。因为列表有多少行,你就要执行多少次。
所以我将Order改成了
public class Order
{
   public int OrderID;
   public User UserInfo;
   public string Content;
}
这样就可以返回List<Order>了大家觉得该怎么处理,我觉得返回这里远没有以前直接返回个DataTable来的方便啊。

解决方案 »

  1.   

    Order 不一定要对应Order表,要以对应Order视图,在这个视图你,你想干什么就干什么了。
      

  2.   

    to cpp2017
    你的意思是这个Order的实体,可以将一些必要的信息都包含进来,比如UserName?
    我也感觉实体类的设计,并不一定要按照表结构,有是要看业务逻辑的需要来聚合。如果一个表和另一个表的关系很紧密,逻辑操作的时候都是一起操作的话可以采用一个类包含另一个类的实体或者实体的集合。