文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

linq to sql多表查询怎么实现

2023-06-17 21:42

关注

这篇文章主要讲解了“linq to sql多表查询怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linq to sql多表查询怎么实现”吧!

在手写sql的年代,如果想从sqlserver数据库随机取几条数据,可以利用order by NewId()轻松实现,要实现linq to sql多表查询也可以用select * from A,B Where A.ID=B.ID做到,但这些功能到了linq to sql中如何实现呢?

linq to sql多表查询关键点:

随机排序问题:可以用 Select(d=> new {NewId=new Guid()}).OrderBy(d=>d.NewId)达到order by NewId()的效果

linq to sql多表查询

from a in TableA   from b in TableB  where a.ID == b.ID

另外利用linq to xml还可以轻易将查询出来的结果保存成xml(这一点比传统xml的方法确实要新颖很多)

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

using (DBDataContext db = new DBDataContext(Database.ConnectionString))   ...{    var q = db.T_Shops.Where(s => s.F_ID == new Guid("00000000-0000-0000-0000-000000000001")).Select(s =>new ...{ s.F_AutoID }).First();    string _ShopAutoId = q.F_AutoID.ToString();    var query = (from v in db.V_ProductVideos     from pv in db.V_ProductTV      where v.F_ShopID == new Guid("00000000-0000-0000-0000-000000000001") &&     v.F_ProductID == pv.F_ID &&     pv.F_Status == 1 &&     pv.F_isShow == 1 &&     v.F_Status == 1 &&     v.F_isShow == 1 &&     v.F_ProductStatus == 1       select new       ...{   v.F_VideoS,   v.F_VideoP,   v.F_VideoW,   v.F_VideoL,   v.F_ClsAutoID,   v.F_ProductName,   v.F_ProductAutoID,   NewId = Utils.NewComb()   }  ).OrderBy(p => p.NewId).Take(10);      //利用linq to xml生成xml      XDocument doc = new XDocument(      new XElement("flvLists", from d in query      select (      new XElement(      "item",      new XAttribute("title_p", d.F_VideoP),      new XAttribute("title_s", d.F_VideoS),      new XAttribute("name", Utils.NoHtml(d.F_ProductName, 500)),          new XAttribute("link", + d.F_ClsAutoID.ToString() + "/" + _ShopAutoId + "/" + d.F_ProductAutoID)      ))));    doc.Save(Server.MapPath("~/upload/xml/tvvideo.xml"));    db.Connection.Close();  }

感谢各位的阅读,以上就是“linq to sql多表查询怎么实现”的内容了,经过本文的学习后,相信大家对linq to sql多表查询怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯