菜鸟笔记-Linq初学 ---top(3)

Select的使用

  前边说道Select有很多模式,可以用来应对开发过程中的各种需求,

  条件查询形式

   不难理解,就是在匿名函数的基础上加上条件来做表达式

  

var IT=from StudentLX in StudentLX
            Select new{
                             StuName=StudeltLX.StuName
                              StuAge = StudentLX.StuAge > 20 ? "A" :"B" //再次加入条件判断
                           }

 

 

自定义类型

  自定义类型就是自己定义的数据类型例如

    

var IT = from StudentLX in dt.StudentLX
             select new NewVerTo{Name = StudentLX.StuName,age = StudentLX.StuAge}
//自定义了NewVerTo类型,它包含name,age 两个属性

 

整型类型

  整型类型,说实话目前不知道这种类型用来做什么,主要是不太了解,整型类型就是  把一个匿名类型的属性也做成匿名类型,有点绕口不如直接看代码

  

//匿名类型    
var IT=From StudentLX in dt.StudentLX
            select new 
NameTo{name = StudentLX.StuName ,
//age属性也为匿名类型
age=new{StudentLX.age,StudentLX.DI}}

嵌套类型

  字面意思,一个匿名类嵌套另一个匿名类,与整型类型类似

  

var IT = FROM StudentLX in dt.StudentLX
            select new Name{StuName = StudentLX.Stuname ,
//嵌套内部查询,获取结果集
StuList = 
       from Table in dt.Table
         where Table.ID = 2
         Select Table
        }    

Distinct形式

  这个形式是用来筛选不重复的结果集,类似于SQL中的 Select Distinct,筛选不重复数据

  

//筛选StuName 的不重复数据
var IT =(from StudentLX in dt.StudentLX  Select StudentLX.StuName).Distinct();

 

select Distinct StuName from StudentTab ;

这句sql语句查询结果与上边的Linq 等同,都在筛选查询不重复数据

 

 

 

本地调用方法形式

  本地方法调用就是在匿名类型中或·Select中直接调用本地方法 这里直接引用原文作者实例

 例如: 在查询中调用本地方法PhoneNumberConverter将电话号码转换成国际格式。

var q = from c in db.Customers
            where c.Country == "UK" || c.Country == "USA"
            select new
           {
                c.CustomerID,
                c.CompanyName,
                Phone = c.Phone,
                InternationalPhone = PhoneNumberConverter(c.Country, c.Phone)
            };

 

PhoneNumberConverter方法如下:

public string PhoneNumberConverter(string Country, string Phone)
{
     Phone = Phone.Replace(" ","").Replace(")"  ,")-");
     switch(Country)
     {
          case "USA":
              return "1-" + Phone;
          case "UK":
              return "44-" + Phone;
          default:
              return Phone;
     }    

 

 

本文纯属虚构,如有雷同纯属巧合,好吧我摘抄别人的原文,我的学习理念是,读不懂写一遍,记录下来做一遍,原文地址(http://www.cnblogs.com/1Q84mi/archive/2013/03/12/Linq_to_SQL_Select.html)

 

posted @ 2016-05-19 14:44  戴帽子的家猫  阅读(233)  评论(0编辑  收藏  举报