码迷,mamicode.com
首页 > 其他好文 > 详细

LINQPad 4 初次使用心得

时间:2014-08-08 20:45:26      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   使用   os   io   

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

数据库操作

添加数据库连接

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

2,选择Defalt(LINQ to SQL)

3,添加数据库连接信息

bubuko.com,布布扣

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

bubuko.com,布布扣

 

表达式操作

数据库连接成功后

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

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

bubuko.com,布布扣

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

直接输入表名就可以了

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

MenuInfoes

显示结果如下:

bubuko.com,布布扣

 

 2,使用dump

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

MenuInfoes.Dump("所有菜单")

显示结果如下:

bubuko.com,布布扣

3,LINQ操作示例

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

这里简单给出一些示例:

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

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

结果如下:

bubuko.com,布布扣

 

**所有点菜情况如下

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)
        })

结果如下:

bubuko.com,布布扣

 

代码段操作

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

首先将Language改为C# Program

**简单的输出处理

void Main()
{
    DateTime.Now.Dump("Datetime now");
}

输出结果如下:

bubuko.com,布布扣

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

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

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

bubuko.com,布布扣

 

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

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

bubuko.com,布布扣

 

尝试下面的代码:

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=1,
      Gender= Gender.Male
    };
    
    JsonConvert.SerializeObject(student).Dump("serialize student");
}

显示结果为:

 

bubuko.com,布布扣

 

最后在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(5000);
}

显示结果如下:

bubuko.com,布布扣

 

 

官方下载地址:http://www.linqpad.net/

免费版没有智能提示,Premium Edition收费。

希望大家多多支持正版,或者在http://download.csdn.net/detail/xnonx/7720177 下载并研究性使用

LINQPad 4 初次使用心得,布布扣,bubuko.com

LINQPad 4 初次使用心得

标签:des   style   blog   http   color   使用   os   io   

原文地址:http://www.cnblogs.com/hellomicro/p/3899888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!