简单实现Linq连接查询

Linq连接查询实现起来很简单,而且也很实用,本文在Linq连接查询之前先建立两个查询,然后做的Linq连接查询。

Orcas(VS2008&Framework3.5)给我们带来了很多令人兴奋的新特性,尤其是Linq的引进,可以说方便了一大批开发人员和框架设计人员。过去,当我们使用O/RMapping的一些框架时,最担心的应该是复杂的查询和数据库操作的性能问题,那么Linq在这个方面给我们带来了什么呢,今天笔者先来介绍一下Linq连接查询。

Linq连接查询之前先建立两个查询:

 
 
 
  1. using (DataClassesDataContext myData = new DataClassesDataContext())  
  2. {  
  3. var allSearch = from review in myData.CCTable  
  4. select new 
  5. {  
  6. CompanyProductId = review.ID,  
  7. Link = review.Link  
  8. };  
  9. var companyname = from t in myData.CompanyProduct  
  10. select new 
  11. {  
  12. Link2= t.Link2,  
  13. mycompanyname = t.CompanyInfo.公司名称  
  14. };  

然后用Linq连接查询非常方便,而且代码清晰

 
 
 
  1. var combin = from r in allSearch  
  2. join t in companyname on r.Link2 equals t.Link   
  3. orderby r.Link   
  4. select new 
  5. {  
  6. CompanyProductId = r.CompanyProductId,  
  7. comname = t.mycompanyname,  
  8. };  
  9. GridView1.DataSource = combin ;  
  10. GridView1.DataBind();  
  11. }  

当然也可以放在一个查询中,效率其实是一样的。

 
 
 
  1. var allSearch = from review in myData.CCTable  
  2. // where review.CC.Contains("A")  
  3. where review.C英文分类 == 1  
  4. join t in myData.CompanyProduct on review.id equals t.id  
  5. select new 
  6. {  
  7. CompanyProductId = review.id,  
  8. comname = t.CompanyInfo.公司名称  
  9. };  
  10. GridView1.DataSource = allSearch;  
  11. GridView1.DataBind();  

经过笔者介绍Linq连接查询,觉得很好实现而且很实用吧,希望能给大家带来帮助。

【编辑推荐】

  1. LINQ动态查询的实现浅析
  2. LINQ TO SQL动态修改表名称的实现浅析
  3. LINQ To SQL的一点讨论
  4. 浅析LINQ事务处理的实现
  5. 浅析DataSet和DataTable
THE END