Linq体验(二)

简介: SelfDataDataContext cc = new SelfDataDataContext(); select 用法 protected void Button1_Click(object sender, EventArgs e)     {         //select 的用法 ...

SelfDataDataContext cc = new SelfDataDataContext();

select 用法

protected void Button1_Click(object sender, EventArgs e)

    {

        //select 的用法

        //简单用法,不带条件,查询 姓名,薪金

        var q1 = from p in cc.userss select p;//返回全部列

        var q2 = from p in cc.userss select p.name;//返回单一列

 

 

        //当显示多列时,要用匿名类型

        var q3 = from p in cc.userss select new {p.name,p.salary };

 

        //列别名用法(注意:列名不加引号)

        var q4 = from p in cc.userss select new {namee=p.name,薪金=p.salary };

 

        //列别名用法之列组合,职位+姓名=那个谁(例如:姓氏+名字=姓名)

        var q5 = from p in cc.userss select new { 那个谁=p.description+p.name, 薪金 = p.salary };

 

//查询结果 运算(例如:女好汉薪金*3+100元补助(节日加班))

 var q6 = from p in cc.userss where p.sex=="" select new { 姓名=p.name,现在的薪金=p.salary,节日加班薪金=p.salary*3+100};

       

       
//
同上,返回保安职业,并在结果集中过滤选择 1700以上薪金的人员(>1700)的薪为0

//这里的过滤不是条件查询,而是对过滤出来的数据进行条件选择。

 var q7 = from p in cc.userss where p.description == "保安" select new { p.name,salary=(p.salary>1700?0:p.salary)};

 

 //以上在多列时,采用的是匿名类型,以下是显示的定义确定类型

 //注意不要显示的构造cc.userss类型

 var q8 = from p in cc.userss select new Users { UserName = p.name, UserJob = p.description };

 

        //匿名类型里的匿名类型,感觉这点太灵活了。

        //查询结果为,姓名{职务,薪金,性别},每一个姓名包含三项属性:职务,薪金,性别

        var q9 = from p in cc.userss select new {

        p.name,

        userInfo=new {p.description,p.salary,p.sex}

        };

 

       //在查询中调用类方法(这点很强大,比如在sql2000中就不能switch分支。)

       //按男女性别区分,女的好汉姓名后加“女英雄”;男的好汉姓名后加“男好汉”

 

        var q10 = from p in cc.userss

                  select new

                  {

                      name=AddSuffixes(p.name,p.sex),p.sex,p.description

                  };

       

       
GridView1.DataSource =q10.ToList();

        GridView1.DataBind();

    }

    private string AddSuffixes(string strName,string strSex)

    {

        switch (strSex)

        {

            case "":

                return strName + "男好汉";

            case "":

                return strName + "女英雄";

            default:

                return "分不出男女";

        }

    }


备注:
有点表别名的意思。通过练习,会越来越熟练,并深入理解和应用Linq.

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
Linux API C语言
设备树知识小全(十):由设备树引发的BSP和驱动变更
设备树知识小全(十):由设备树引发的BSP和驱动变更
206 0
|
9月前
|
编解码 固态存储 openCL
Mastercam 2025 官方电脑配置推荐
Mastercam 推荐配置:建议使用最新版 Windows Professional;推荐 Intel i7 处理器,至少 8GB 内存(建议 32GB),NVIDIA RTX 或 AMD FirePro™/Radeon Pro 专业显卡(4GB 以上内存);双显示器设置,主显示器分辨率 1920x1080;使用 SSD 作为主驱动器;可选 3D 鼠标提升操作体验;注意杀毒软件可能影响软件运行。
1137 7
|
SQL 架构师 Java
SpringBoot从入门到精通(二十八) JPA 的实体映射关系,轻松一对一,一对多,多对多关系映射!
前面讲了Spring Boot 使用 JPA,实现JPA 的增、删、改、查的功能,同时也介绍了JPA的一些查询,自定义SQL查询等使用。JPA使用非常简单,功能非常强大的ORM框架,无需任何数据访问层和sql语句即可实现完整的数据操作方法。但是,之前都是介绍的单表的增删改查等操作,多表多实体的数据操作怎么实现呢?接下来聊一聊 JPA 的一对一,一对多,多对一,多对多等实体映射关系。
SpringBoot从入门到精通(二十八) JPA 的实体映射关系,轻松一对一,一对多,多对多关系映射!
|
8月前
|
资源调度 双11 UED
平行云助力“天猫X网易云音乐”两大IP,打造爆款元宇宙云派对
2022年,天猫与网易云音乐联手打造了一场元宇宙“云派对”,通过3D互联网技术,以游戏+演唱会的形式吸引上万名用户参与。平行云LarkXR提供实时云渲染技术支持,解决高并发和互动数据沉淀难题,实现万人同频互动,带来沉浸式购物、游戏、音乐体验,助力品牌长效增长。
189 11
|
机器学习/深度学习 IDE 数据挖掘
使用VScode的几点感受,对比Pycharm、Jupyter优劣势
使用VScode的几点感受,对比Pycharm、Jupyter优劣势
914 5
|
10月前
|
API
观音灵签免费API接口教程
该API提供观音灵签的随机获取服务,含100签,支持POST/GET请求。需用户ID和KEY认证。返回签文、解曰、典故等信息。示例请求:https://cn.apihz.cn/api/mingli/guanyin.php?id=88888888&key=88888888。详情参见官方文档。
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
292 0
|
存储 Java Maven
SpringBoot整合Jest和Elasticsearch实践
SpringBoot整合Jest和Elasticsearch实践
425 1
|
11月前
|
缓存 数据挖掘 API
淘宝商品类目API的获取与应用探索
淘宝商品类目API是淘宝开放平台提供的关键服务,允许开发者获取淘宝商品的类目信息,包括根类目、子类目及属性信息。本文介绍API的获取方法、应用场景及使用技巧,帮助电商从业者和开发者更好地利用类目数据,提升商品管理、搜索推荐及数据分析等能力。
640 1
|
机器学习/深度学习 人工智能
【LangChain系列】第九篇:LLM 应用评估简介及实践
【5月更文挑战第23天】本文探讨了如何评估复杂且精密的语言模型(LLMs)应用。通过创建QA应用程序,如使用GPT-3.5-Turbo模型,然后构建测试数据,包括手动创建和使用LLM生成示例。接着,通过手动评估、调试及LLM辅助评估来衡量性能。手动评估借助langchain.debug工具提供执行细节,而QAEvalChain则利用LLM的语义理解能力进行评分。这些方法有助于优化和提升LLM应用程序的准确性和效率。
835 8