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 下载并研究性使用
最新文章
- Memcached初探
- 一、oracle数据库成功安装步骤 (11gR2)
- js事件执行顺序
- Spring学习总结四——SpringIOC容器四
- 学习java随笔第五篇:流程控制
- python 正则详解
- 【USACO】 洞穴奶牛
- Python_语法和界面设计
- Debian9桌面设置
- Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)
- sunset
- Web应用程序使用说明
- 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?
- 程序员与HR博弈之:有城府的表达你的兴趣爱好
- GridView实现数据编辑和删除
- 廖雪峰Python学习笔记——类和实例
- git server
- 五)Spring + Quartz 复杂业务的两个问题:获取Spring上下文 和 自动注入服务类
- WPF Path 画箭头
- 设置HTML5的video播放速度