要实现linq to sql多表查询也可以用select * from A,B Where A.ID=B.ID做到,但这些功能到了linq to sql中如何实现呢?本文就将对此做简单介绍。

本文笔者解说linq to sql多表查询,其间首要介绍的便是linq to sql多表查询的要害点。

linq to sql多表查询浅析(linq语句的多表查询)  sql多表查询 第1张

在手写sql的时代,假如想从sqlserver数据库随机取几条数据,能够使用order by NewId()轻松完成,要完成linq to sql多表查询也能够用select * from A,B Where A.ID=B.ID做到,但这些功用到了linq to sql中怎么完成呢?

linq to sql多表查询要害点:

1.随机排序问题:能够用 Select(d=> new {NewId=new Guid()}).OrderBy(d=>d.NewId)到达order by NewId()的作用

2.linq to sql多表查询

  1. fromainTableA
  2. frombinTableB
  3. wherea.ID==b.ID

别的使用linq to xml还能够容易将查询出来的成果保存成xml(这一点比传统xml的办法的确要新颖许多)

具体代码可参阅我在一个项目中的示例(功用为随机取机10条产品视频的记载,并生成xml供播放器调用)

  1. using(DBDataContextdb=newDBDataContext(Database.ConnectionString))
  2. ...{
  3. varq=db.T_Shops.Where(s=>s.F_ID==
  4. newGuid("00000000-0000-0000-0000-000000000001")).Select(s=>
  5. new...{s.F_AutoID}).First();
  6. string_ShopAutoId=q.F_AutoID.ToString();
  7. varquery=(fromvindb.V_ProductVideos
  8. frompvindb.V_ProductTV
  9. wherev.F_ShopID==newGuid("00000000-0000-0000-0000-000000000001")&&
  10. v.F_ProductID==pv.F_ID&&
  11. pv.F_Status==1&&
  12. pv.F_isShow==1&&
  13. v.F_Status==1&&
  14. v.F_isShow==1&&
  15. v.F_ProductStatus==1
  16. selectnew
  17. ...{
  18. v.F_VideoS,
  19. v.F_VideoP,
  20. v.F_VideoW,
  21. v.F_VideoL,
  22. v.F_ClsAutoID,
  23. v.F_ProductName,
  24. v.F_ProductAutoID,
  25. NewId=Utils.NewComb()
  26. }
  27. ).OrderBy(p=>p.NewId).Take(10);
  28. //使用linqtoxml生成xml
  29. XDocumentdoc=newXDocument(
  30. newXElement("flvLists",fromdinquery
  31. select(
  32. newXElement(
  33. "item",
  34. newXAttribute("title_p",d.F_VideoP),
  35. newXAttribute("title_s",d.F_VideoS),
  36. newXAttribute("name",Utils.NoHtml(d.F_ProductName,500)),
  37. newXAttribute("link",
  38. +d.F_ClsAutoID.ToString()+
  39. "/"+_ShopAutoId+"/"+d.F_ProductAutoID)
  40. ))));
  41. doc.Save(Server.MapPath("~/upload/xml/tvvideo.xml"));
  42. db.Connection.Close();
  43. }

以上便是对linq to sql多表查询的具体介绍。

【修改引荐】

  1. 浅显易懂 LINQ表达式
  2. LINQ根底学习之LINQ to XML
  3. 学习心得LINQ to XML
  4. 浅析LINQ开发技能之LINQ to XML
  5. 具体论述linq动态排序
转载请说明出处
知优网 » linq to sql多表查询浅析(linq语句的多表查询)

发表评论

您需要后才能发表评论