用linqPad帮助你快速学习LINQ(含视频)
2014-04-28 13:55
232 查看
在这里我向大家推荐的一个具是LinqPad有了这个工具并熟练使用就可以很快学习并掌握linq
linqPad下载地址:http://www.linqpad.net/
它也自带了很多例子方便大家查询,linqPad支持object ,xml,sql , to linq这里我只讲一下sql to linq
好多同学不知道怎么用linq完成 left join ,inner
join 等,这里我就用这个工具给大家实现一下
linqpad 会给我们同时生成lambda表达式,sql和IL 我一般情况下有linq的lambda不会的时候,就用Linqpad来调试得到结果
打开它的主页面看一下,点AddConnection 就可以添加数据库连接
先在数据库里建一个库MyDataDemo两个表Classes和Student
数据库里建两个表
我们在linqPad的query标签里把Language 选择为c# Expression ,把Connection 选择数据MyDataDemo 就是我们上边建好的数据库如图
先看一下Left Join
我们在面版里输入最基本的Linq表达式 点执行或者F5
看一下linqPad给我们显示的结果
sql结果 是判断我们的Linq是不是正确的
看它是left outer join(left join 是Left outer join 和简写) 证明我们是正确的
最强的是它还给我们生成lambda表达式
再看一下inner join
看一下sql结果我们是不是正确的
正确
再看一下lambda表达式
就讲到这里大家可以多学习一下这个工具。
(上述图文来自:http://www.cnblogs.com/li-peng/p/3441729.html)
以下内容由【吕津】增加:
PS:
我是在学习Entity Framework4视频的时候,有讲师提到了LINQPad工具。
http://v.youku.com/v_show/id_XMzA4MTQ0Mjk2.html
对于初学者,通过学习LINQPad的"Samples"可以快速地掌握和上手LINQ.
linqPad下载地址:http://www.linqpad.net/
它也自带了很多例子方便大家查询,linqPad支持object ,xml,sql , to linq这里我只讲一下sql to linq
好多同学不知道怎么用linq完成 left join ,inner
join 等,这里我就用这个工具给大家实现一下
linqpad 会给我们同时生成lambda表达式,sql和IL 我一般情况下有linq的lambda不会的时候,就用Linqpad来调试得到结果
打开它的主页面看一下,点AddConnection 就可以添加数据库连接
先在数据库里建一个库MyDataDemo两个表Classes和Student
数据库里建两个表
我们在linqPad的query标签里把Language 选择为c# Expression ,把Connection 选择数据MyDataDemo 就是我们上边建好的数据库如图
先看一下Left Join
我们在面版里输入最基本的Linq表达式 点执行或者F5
from stu in Students join cla in Classes on stu.Class_Id equals cla.Class_Id into MyJoin from grp in MyJoin.DefaultIfEmpty() select new {ClassId=grp.Class_Id,Class_Name=grp.Class_Name,st_Name =stu.St_Name}
看一下linqPad给我们显示的结果
sql结果 是判断我们的Linq是不是正确的
看它是left outer join(left join 是Left outer join 和简写) 证明我们是正确的
SELECT [t1].[class_Id] AS [ClassId], [t1].[class_Name] AS [Class_Name], [t0].[st_Name] FROM [Student] AS [t0] LEFT OUTER JOIN [Classes] AS [t1] ON [t0].[class_Id] = [t1].[class_Id]
最强的是它还给我们生成lambda表达式
Students .GroupJoin ( Classes, stu => stu.Class_Id, cla => cla.Class_Id, (stu, MyJoin) => new { stu = stu, MyJoin = MyJoin } ) .SelectMany ( temp0 => temp0.MyJoin.DefaultIfEmpty (), (temp0, grp) => new { ClassId = grp.Class_Id, Class_Name = grp.Class_Name, st_Name = temp0.stu.St_Name } )
再看一下inner join
//inner join from stu in Students join cla in Classes on stu.Class_Id equals cla.Class_Id select new {ClassId=cla.Class_Id,Class_Name=cla.Class_Name,st_Name =stu.St_Name}
看一下sql结果我们是不是正确的
SELECT [t1].[class_Id] AS [ClassId], [t1].[class_Name] AS [Class_Name], [t0].[st_Name] FROM [Student] AS [t0] INNER JOIN [Classes] AS [t1] ON [t0].[class_Id] = [t1].[class_Id]
正确
再看一下lambda表达式
Students .Join ( Classes, stu => stu.Class_Id, cla => cla.Class_Id, (stu, cla) => new { ClassId = cla.Class_Id, Class_Name = cla.Class_Name, st_Name = stu.St_Name } )
就讲到这里大家可以多学习一下这个工具。
(上述图文来自:http://www.cnblogs.com/li-peng/p/3441729.html)
以下内容由【吕津】增加:
PS:
我是在学习Entity Framework4视频的时候,有讲师提到了LINQPad工具。
http://v.youku.com/v_show/id_XMzA4MTQ0Mjk2.html
对于初学者,通过学习LINQPad的"Samples"可以快速地掌握和上手LINQ.
相关文章推荐
- 用linqPad帮助你快速学习LINQ
- 用linqPad帮助你快速学习LINQ
- 用linqPad帮助你快速学习LINQ
- linqPad快速学习LINQ(含视频)
- linqPad帮助你快速学习LINQ
- ASP.NET EF 使用LinqPad 快速学习Linq
- ASP.NET EF 使用LinqPad 快速学习Linq
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- 8天快速掌握Android视频(完整版--适合有JavaWeb基础学习)
- 本文将帮助您根据现有的MySQL知识学习来MongoDB,将带领您快速了解MongoDB
- 学习LINQ,发现一个好的工具。LINQPad!!
- LINQPad:一个Linq测试和学习的好工具
- [转]学习LINQ工具:LINQPad
- 这应该是目前最快速有效的ASP.NET Core学习方式(视频)
- 我录制的部分.net视频(希望能给学习.net开发的初学者一些帮助)
- 【翻译】五步快速使用LINQPad尝鲜StreamInsight
- 韩顺平PHP学习视频笔记整理024php快速入门 bs和cs介绍
- 使用 LINQPad 助力 LINQ 学习
- 今日学习LINQ,发现一个好的工具。LINQPad!!
- 经典LinuxCBT视频教程系列 Linux快速学习视频教程一帖通