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==1).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=1,
      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(5000);
}

顯示結果如下:

 

 

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

免費版沒有智能提示,Premium Edition收費。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM