正文 主页 > 站长学院 > 网络编程 >

asp.net Linq 实现分组查询

下载我资源网

首先我们还是先建立一个person.cs类  public class person
  {
  public string name
  { get; set; }
  public int age
  { get; set; }
  public string sex
  { get; set; }
  }
  接下来我们往这个person类添加数据:
  List plist1 = new List();
  plist1.Add(new person { name = "cxx1", age = 24, sex = "男" });
  plist1.Add(new person { name = "www.baidu.com", age = 25, sex = "男" });
  plist1.Add(new person { name = "www.52mvc.com", age = 26, sex = "男" });
  List plist2 = new List();
  plist2.Add(new person { name = "cxx1", age = 24, sex = "男" });
  plist2.Add(new person { name = "cxx2", age = 28, sex = "男" });
  plist2.Add(new person { name = "cxx4", age = 27, sex = "男" });
  plist2.Add(new person { name = "cxx5", age = 28, sex = "男" });
  // asp.net
  var query = from person p in plist1
  join person per in plist2
  on p.name equals per.name
  select new
  {
  名称=p.name,
  性别=p.sex,
  年龄=p.age
  };
  gd2.DataSource = query;
  gd2.DataBind();
  返回的结果是:
  备注:这个方法是要查找出 plist1 与 plist2 之中,name名称有相同记录的数据。
  接下来我们来看看sql中的左连接left join 在linq中如何实现
  还是先来创建两个cs 类。
  ///
  /// 手机列表
  ///
  public class MobileStore
  {
  public string mobId
  { set; get; }
  public string mobName
  { set; get; }
  }
///  /// 手机销售表
  ///
  public class MobileSale
  {
  public string Sid
  { set; get; }
  public string mobId
  { set; get; }
  public string mobName
  { set; get; }
  public string price
  { set; get; }
  }
  List listStore = new List();
  listStore.Add(new MobileStore { mobId = "1", mobName = "N86" });
  listStore.Add(new MobileStore { mobId = "2", mobName = "N82" });
-- 展开阅读全文 --