LINQPad 4 初次使用心得
最近学习EntityFramework,于是接触了LinqPad这款享誉已久的软件,深感相见恨晚。软件具体不多做介绍了,只简单介绍下使用方法。
数据库操作
添加数据库连接
1,首先通过点击Add connection打开Choose Data Context窗口
2,选择Defalt(LINQ to SQL)
3,添加数据库连接信息

4,点击OK后,会显示出数据库的表的列表,说明数据库连接创建成功

表达式操作
数据库连接成功后
首先在Query窗口的Connection中选择你要进行过操作的数据库,并且Language选择C# Expression
之后就可以通过LINQ表达式进行数据库查询操作了

1,查询一张表的所有内容
直接输入表名就可以了
比如查询所有菜单,直接使用如下代码即可
MenuInfoes
显示结果如下:

2,使用dump
使用dump可以将输出结果分类显示
MenuInfoes.Dump("所有菜单")
显示结果如下:

3,LINQ操作示例
这里毕竟是软件的介绍,LINQ语法不多介绍了。所有的LINQ语法在LINQPad里都可以使用。
这里简单给出一些示例:
**使用type筛选后,按照价格排序
MenuInfoes.Where(mi=>mi.Type==).OrderBy(mi=>mi.Price)
结果如下:

**所有点菜情况如下
| Id | Date | EmployeeId | MenuId | Count |
| 1 | 2014/2/5 | 1 | 1 | 4 |
| 2 | 2014/2/5 | 1 | 2 | 16 |
| 3 | 2014/2/5 | 1 | 1 | 5 |
| 4 | 2014/2/5 | 1 | 1 | 1 |
那么想要获取每种菜品的总份数,用如下代码
OrderInfoes
.GroupBy(oi=>oi.MenuId)
.Select(g=>new
{
MenuId=g.Key,
SumCount=g.Sum(oi=>oi.Count)
})
结果如下:

代码段操作
LINQPad不仅仅可以通过表达式操作数据库,更可以通过代码段执行任何C#的代码
首先将Language改为C# Program
**简单的输出处理
void Main()
{
DateTime.Now.Dump("Datetime now");
}
输出结果如下:

**LINQPad还可以导入第三方库,甚至可以在程序内使用nuget导入
在query窗口中按F4打开Query Properties窗口,在该窗口可以添加任何本地的第三方程序集
通过点击Add Nuget打开Nuget窗口,然后搜索json.net

之后通过点击Add To Query下载并添加程序集
返回Query Properties后可以发现Json.net已经被添加了

尝试下面的代码:
public class Student
{
public int Id { get; set; }
public Gender Gender { get; set; }
} public enum Gender
{
Male,
Female
} void Main()
{
var student=new Student{
Id=,
Gender= Gender.Male
}; JsonConvert.SerializeObject(student).Dump("serialize student");
}
显示结果为:

最后在LINQPad中写一个稍微复杂的网络操作的例子
public class Weather
{
public Weatherinfo weatherinfo { get; set; }
} public class Weatherinfo
{
public string city { get; set; }
public string cityid { get; set; }
public string temp { get; set; }
public string WD { get; set; }
public string WS { get; set; }
public string SD { get; set; }
public string WSE { get; set; }
public string time { get; set; }
public string isRadar { get; set; }
public string Radar { get; set; }
} void Main()
{
var resetEvent=new AutoResetEvent(false);
var client=new HttpClient();
var rst= client.GetStringAsync("http://www.weather.com.cn/data/sk/101110101.html");
rst.ContinueWith(s=>
{
if(s.Exception==null)
{
var obj=JsonConvert.DeserializeObject<Weather>(s.Result);
Console.WriteLine(obj);
}
else{
Console.WriteLine(s.Exception);
}
resetEvent.Set();
}); resetEvent.WaitOne();
}
显示结果如下:

官方下载地址:http://www.linqpad.net/
免费版没有智能提示,Premium Edition收费。
希望大家多多支持正版,或者在http://download.csdn.net/detail/xnonx/7720177 下载并研究性使用
LINQPad 4 初次使用心得的更多相关文章
- 201671010142 <java程序设计>初次学习心得与感悟
从开始对JDK的配置就遇到了问题,从这点就可以知道自己知识的薄弱.又知道了在控制台下一些常用命令的掌握.对知识的理解挺艰难,比如遇到一个新的问题就不知道该从哪里入手,有时候还不知道到底问题是啥.接受能 ...
- 自我介绍和Github初次使用心得
姓名:许洪科 班级:网络工程142 学号:1413042047 爱好:足球 编写过的程序:0 编写过的代码:几乎为0(大多数为网上直接复制的) Github注册过程:. 1:进入Github网站后点击 ...
- (LaTex)CTex的初次使用心得及入门教程
摘要 最近要发论文了,被知乎里人推荐使用论文编译软件(CTex.LaTex和Overleaf之类),瞬间感觉自己用Word简直Out了(书读少). 学校里也听说过LaTex,不过因为当时没怎么写过论文 ...
- AutoMapper 初次使用心得
本例以asp.net webform为例: 结构: 主要代码:AutoMapperConfig 类 public class AutoMapperConfig { public static void ...
- .Net 常用开发工具
,net常用开发工具 LinqPad使用 LinqPad连接Oracle 使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句 LINQPad 4 初次使用心得 一.双击 二. ...
- 手机web——自适应网页设计(html/css控制)
一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name=" ...
- 【转】手机web——自适应网页设计(html/css控制)
手机web——自适应网页设计(html/css控制) 就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献 ...
- 手机web——自适应网页设计(html/css控制) - 51CTO.COM
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 手机web——自适应网页设计(html/css控制)【转】
一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="v ...
随机推荐
- 尺取法——POJ3061
#include <iostream> //nlogn复杂度的写法 #include <cstdio> #include <algorithm> using nam ...
- 微信小程序scroll-view横向滚动
官方文档给的代码复制下来发现无法滚动,没反应,使用css设置浮动属性也无效 官方没有给出css代码,横向需要设置两个css属性才行: white-space: nowrap; ----规定段落中的文本 ...
- Git标签(版本)管理
列出当前所有的标签 git tag 可以搜索特定的标签,例如你只想看稳定版相关的 git tag -l "*.stable" 给当前commit打标签(设定版本) gi ...
- CF 274D Lovely Matrix 拓扑排序,缩点 难度:2
http://codeforces.com/problemset/problem/274/D 这道题解题思路: 对每一行统计,以小值列作为弧尾,大值列作为弧头,(-1除外,不连弧),对得到的图做拓扑排 ...
- sgu 142. Keyword 暴力,hash 难度:0
142. Keyword time limit per test: 0.5 sec. memory limit per test: 16384 KB Kevin has invented a new ...
- Life Cycle(JSF+Facelets)
一.JSF Life Cycle: 图1 图2 应用程序的生命周期是指应用程序的各个阶段,从开始到结束.所有应用程序的生命周期.在web应用程序生命周期中,执行常见任务,包括以下内容.■处理传入的请求 ...
- 关于MSSQL中IS NULL和IS NOT NULL的问题
在SQL语句中我们一般会避免写IS NULL和IS NOT NULL,因为这样优化器不会使用索引. 但经过一系列测试发现这句话并不完全对,因为有时候也会使用索引. 语句: select * from ...
- 转 关于nvcc fatal : Value 'sm_20' is not defined for option 'gpu-architecture'的问题
原文地址: https://blog.csdn.net/Mao_Jonah/article/details/78965827 关于nvcc fatal : Value ‘sm_20’ is not d ...
- bzoj 4177 Mike的农场
bzoj 4177 Mike的农场 思维有些江化了,一上来就想费用流做法,但其实就是个最小割啊. 考虑先将所有的收益拿到,再减去不能拿的以及三元组 \((i,j,k)\) 产生的代价.即,先让 \(a ...
- Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32)
本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容 ...