linqpad 连接mysql_LINQPad 4 初次使用心得

本文介绍了如何使用LINQPad连接MySQL数据库,包括添加数据库连接、选择数据上下文、执行C# Expression查询,以及利用LINQ进行数据筛选、排序和分组等操作。同时展示了LINQPad的代码段执行功能,包括导入第三方库和网络请求示例。
摘要由CSDN通过智能技术生成

最近学习EntityFramework,于是接触了LinqPad这款享誉已久的软件,深感相见恨晚。软件具体不多做介绍了,只简单介绍下使用方法。

数据库操作

添加数据库连接

1,首先通过点击Add connection打开Choose Data Context窗口

2,选择Defalt(LINQ to SQL)

3,添加数据库连接信息

db5325fd8f55fdb004f349aaa035527e.png

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

30b4f97bafedf632ce5253f28e4d2098.png

表达式操作

数据库连接成功后

首先在Query窗口的Connection中选择你要进行过操作的数据库,并且Language选择C# Expression

之后就可以通过LINQ表达式进行数据库查询操作了

83741d7f32dd5725616fa33f421ba47c.png

1,查询一张表的所有内容

直接输入表名就可以了

比如查询所有菜单,直接使用如下代码即可

MenuInfoes

显示结果如下:

7808ad1fc4e31e90d0faac2997359109.png

2,使用dump

使用dump可以将输出结果分类显示

MenuInfoes.Dump("所有菜单")

显示结果如下:

6ba57f1e5a94a4a3f8db550733237be3.png

3,LINQ操作示例

这里毕竟是软件的介绍,LINQ语法不多介绍了。所有的LINQ语法在LINQPad里都可以使用。

这里简单给出一些示例:

**使用type筛选后,按照价格排序

MenuInfoes.Where(mi=>mi.Type==1).OrderBy(mi=>mi.Price)

结果如下:

2156d6822398dbff9605e042742049b5.png

**所有点菜情况如下

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)

})

结果如下:

85f5c89296bab2450eea5dd532725ac3.png

代码段操作

LINQPad不仅仅可以通过表达式操作数据库,更可以通过代码段执行任何C#的代码

首先将Language改为C# Program

**简单的输出处理

voidMain()

{

DateTime.Now.Dump("Datetime now");

}

输出结果如下:

11a5917e7893919457afc7d0f02f29ef.png

**LINQPad还可以导入第三方库,甚至可以在程序内使用nuget导入

在query窗口中按F4打开Query Properties窗口,在该窗口可以添加任何本地的第三方程序集

通过点击Add Nuget打开Nuget窗口,然后搜索json.net

e64cb61cda26dcb9213a56556291be13.png

之后通过点击Add To Query下载并添加程序集

返回Query Properties后可以发现Json.net已经被添加了

d231e28fdd94968cad24dfb854f8569d.png

尝试下面的代码:

public classStudent

{public int Id { get; set; }public Gender Gender { get; set; }

}public enumGender

{

Male,

Female

}voidMain()

{var student=newStudent{

Id=1,

Gender=Gender.Male

};

JsonConvert.SerializeObject(student).Dump("serialize student");

}

显示结果为:

a0157bbf1695342763dae931055c2312.png

最后在LINQPad中写一个稍微复杂的网络操作的例子

public classWeather

{public Weatherinfo weatherinfo { get; set; }

}public classWeatherinfo

{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; }

}voidMain()

{var resetEvent=new AutoResetEvent(false);var client=newHttpClient();var rst= client.GetStringAsync("http://www.weather.com.cn/data/sk/101110101.html");

rst.ContinueWith(s=>{if(s.Exception==null)

{var obj=JsonConvert.DeserializeObject(s.Result);

Console.WriteLine(obj);

}else{

Console.WriteLine(s.Exception);

}

resetEvent.Set();

});

resetEvent.WaitOne(5000);

}

显示结果如下:

53d4b19ba0de9599986a5e967697d135.png

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值