最近学习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 初次使用心得的更多相关文章

  1. 201671010142 <java程序设计>初次学习心得与感悟

    从开始对JDK的配置就遇到了问题,从这点就可以知道自己知识的薄弱.又知道了在控制台下一些常用命令的掌握.对知识的理解挺艰难,比如遇到一个新的问题就不知道该从哪里入手,有时候还不知道到底问题是啥.接受能 ...

  2. 自我介绍和Github初次使用心得

    姓名:许洪科 班级:网络工程142 学号:1413042047 爱好:足球 编写过的程序:0 编写过的代码:几乎为0(大多数为网上直接复制的) Github注册过程:. 1:进入Github网站后点击 ...

  3. (LaTex)CTex的初次使用心得及入门教程

    摘要 最近要发论文了,被知乎里人推荐使用论文编译软件(CTex.LaTex和Overleaf之类),瞬间感觉自己用Word简直Out了(书读少). 学校里也听说过LaTex,不过因为当时没怎么写过论文 ...

  4. AutoMapper 初次使用心得

    本例以asp.net webform为例: 结构: 主要代码:AutoMapperConfig 类 public class AutoMapperConfig { public static void ...

  5. .Net 常用开发工具

    ,net常用开发工具 LinqPad使用 LinqPad连接Oracle 使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句 LINQPad 4 初次使用心得 一.双击 二. ...

  6. 手机web——自适应网页设计(html/css控制)

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name=" ...

  7. 【转】手机web——自适应网页设计(html/css控制)

    手机web——自适应网页设计(html/css控制) 就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献 ...

  8. 手机web——自适应网页设计(html/css控制) - 51CTO.COM

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  9. 手机web——自适应网页设计(html/css控制)【转】

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="v ...

随机推荐

  1. windows下编译Hugin时的template错误

    Hugin依赖于VIGRA,而VIGRA包含大量的模板,编译Hugin是出现如下的大量错误: "unexpected token(s) preceding ':'; skipping app ...

  2. delphi向SQL Server2005中存取图片

    SQL Server2005中,我用image类型来存取图片,首先把数据库表设置好 例如我的pic表有如下两列:时间,图片. delphi中,我用ADOQuery来连接数据库,但是数据库中有好几张表, ...

  3. mouseover、mouseout和mouseenter、mouseleave

    这里直接把<Javascript 高级程序设计(第三版)>中的解释贴出来: mouseover:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发.不能通过键盘触发这 ...

  4. tornado框架的get方法传递参数

    tornado框架的get方法传递参数,代码: # encoding: utf-8 """ @version: ?? @author: andu99 @contact: ...

  5. 各开源 bbs 程序比较

    主要是集中在 php 开源轻巧的程序. 搜索到一个逼乎的一个帖子:https://www.zhihu.com/question/20655704 ,顺藤摸瓜 下. carbon forum 第一个测试 ...

  6. FastAdmin 中 的 layer js 使用 r.js 压缩出现的问题

    FastAdmin 中 的 layer js 使用 r.js 压缩出现的问题 https://fly.layui.com/jie/2120/ layer是requirejs压缩文件r.js里面的关键字 ...

  7. IAR 9+ 编译 TI CC2541 出现 Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.

    IAR 9+ 编译 TI CC2541 出现 Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. Segm ...

  8. 如何查看 ThinkPHP5.1 的升级说明

    如何查看 ThinkPHP5.1 的升级说明 ThinkPHP 官方对于升级历史都有说明,这个官方做的非常不错. 在官方的手册中就有. 比如从 ThinkPHP 5.1.26 升级到 ThinkPHP ...

  9. 腾讯高性能RPC开发框架Tars实现服务治理(微服务)

    Github:https://github.com/Tencent/Tars 1. 介绍 Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快 ...

  10. java web 程序---javabean实例--登陆界面并显示用户名和密码

    重点:注意大小写,不注意细节,这点小事,还需要请教 发现一个问题,也是老师当时写的时候,发现代码没错,但是就是运行问题. 大家看,那个java类,我们要求是所有属性均为私有变量,但是方法为公有的,如果 ...