三层结构中,会为每一个表都建一个实体类,
查询用List<Info>,返回实体类的集合
表[User]:UserID、Username
表[Article]:ArticleID、Title、UserID
[Article]和[User]表中的UserID对应现要查询[Article]表,显示文章标题和作者名称SQL语句
Select Top 10 A.[ArticleID],A.[Title],U.[UserID],U.[Username] From [Article] A Inner Join [User] U On A.[UserID]=U.[UserID]InfoArticle(实体类)
List<InfoArticle>,不能保存Username的信息,难道要从新写一个实体类有那些解决方法
[User]和[Article]记录数都多
请大家指点...

解决方案 »

  1.   

    个人认为就将查询结果放在DataTable对象中.
      

  2.   

    ORM是ORM,实体类是实体类
    别弄混了!就像做饭一样:
    ORM是负责采购、切菜、洗菜滴
    实体类是复杂配菜,配调料滴
    业务逻辑是负责下锅炒菜,把握火候和味道滴
    界面逻辑是负责传菜单,传菜滴
      

  3.   

    大家都用DataTable\DataSet\IDataReader的吗
      

  4.   

    估计楼主是受到 ORM 的思想束缚了。ORM 讲究业务处理用实体,本意是好的,但是在实际使用过程中,很难完全找这个来,对于比较负责的查询还是使用 DataTable 来装载数据的好,如果只是简单的通过对象之间的关联关系来组装数据可以达到结果的话,还是用 ORM 的好。这个要在实际过程中不断探索,建议楼主可以看看 Nhibernate 里面的东西,有一些东西也是使用 datatable 或 集合来实现的 。如果非得用 ORM 会遇到另一个问题 胖数据集 和 瘦数据集 (书面语叫“充血模型”和“贫血模型”,那两个是自己的理解)
      

  5.   

    原则上讲两个实体类InfoArticle,InfoUser 就OK了
    如果数据量大的话,最好的办法还是先查询出数据集,新建一个实体类吧,对整体不会有什么影响的