日期:2014-05-18  浏览次数:20428 次

泛型+实体类如何应付2个表连接查询的数据?请大家帮帮忙
是这样的,我做.net开发几年了,但是都是用的ADO.NET做开发,最近在学习泛型+实体类,有很多不了解的地方,这是第一个问题,以后可能还会遇到很多问题.

OK,我的问题是这样的,举例子:
我有2个表是产品类别表t_product_type和产品表t_products,我分别对这2个表建了实体类
我现在要填充一个GridView,产生下图中的列表样子,
如果照以前的ADO.NET的做法我只要将2个表内连查询产生一个dataset,填充GridView即可,
但是泛型+实体类我不知道怎么连接起来,请各位指点指点.

下面是图:
表结构


要填充的GridView


其中一个实体类结构,另一个也是差不多的
using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;

namespace Model
{
  [Serializable]
  [Table(Name = "t_product_type")]
  public class t_product_type
  {
  private int id;
  private string name;
  public t_product_type() { }

  public t_product_type(int id, string name)
  {
  this.id = id;
  this.name = name;
  }

  public int Id
  {
  get { return id; }
  set { id = value; }
  }

  public string Name
  {
  get { return name; }
  set { name = value; }
  }
  }
}

------解决方案--------------------
这个东西做法太多,
一般可能会直接在单独写一个实体,GridView所需要的字段全部写成一个实体,然后链接查询出来的数据赋值给这个实体类成员。
还有一种方式,直接先查表多的,查出来后,在根据关联字段查第二个表,单独返回一个状态或者名称,如果不太要求效率这样就没有那么繁琐,不需要在去写。
------解决方案--------------------
建议使用entity framework,可以使用预加载和延迟加载
------解决方案--------------------
这其实跟ado.net中的dataset没多大区别 唯一不同就是换成了list...当然其实我和楼主一样 我一般习惯了dataset- - 所以友情帮你顶学习一下list