千家信息网

LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LI
千家信息网最后更新 2026年11月03日LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式

这篇文章主要为大家展示了"LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式"这篇文章吧。

1.简单形式:

var q =  from c in db.Customers  select c.ContactName;

注意:这个语句只是一个声明或者一个描述,并没有真正把数据取出来,只有当你需要该数据的时候,它才会执行这个语句,这就是延迟加载 (deferred loading)。如果,在声明的时候就返回的结果集是对象的集合。你可以使用ToList() 或ToArray()方法把查询结果先进行保存,然后再对这个集合进行查询。当然延迟加载(deferred loading)可以像拼接SQL语句那样拼接查询语法,再执行它。

2.匿名类型形式:

说明:匿名类型是C#3.0中新特性。其实质是编译器根据我们自定义自动产生一个匿名的类来帮助我们实现临时变量的储存。匿名类型还依赖于另外一个特性:支持根据property来创建对象。比如,var d = new { Name = "s" };编译器自动产生一个有property叫做Name的匿名类,然后按这个类型分配内存,并初始化对象。但是var d = new {"s"};是编译不通过的。因为,编译器不知道匿名类中的property的名字。例如string c = "d";var d = new { c}; 则是可以通过编译的。编译器会创建一个叫做匿名类带有叫c的property。
例如下例:new{c,ContactName,c.Phone};ContactName和Phone都是在映射文件中定义与表中字段相对应的 property。编译器读取数据并创建对象时,会创建一个匿名类,这个类有两个属性,为ContactName和Phone,然后根据数据初始化对象。另外编译器还可以重命名property的名字。

var q =  from c in db.Customers  select new {c.ContactName, c.Phone};

语句描述:查询顾客的联系人和电话。

var q =  from e in db.Employees  select new  {  Name = e.FirstName + " " + e.LastName,  Phone = e.HomePhone  };

语句描述:查询职员的姓名和家庭电话

var q =  from p in db.Products  select new  {  p.ProductID,  HalfPrice = p.UnitPrice / 2  };

3.带条件形式:

说明:生成SQL语句为:case when condition then else。

var q =  from p in db.Products  select new  {  p.ProductName,  Availability =  p.UnitsInStock - p.UnitsOnOrder < 0 ?   "Out Of Stock" : "In Stock"  };

以上是"LINQ to SQL中Select如何实现简单形式、匿名类型形式、带条件形式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

形式 编译 类型 编译器 语句 对象 查询 条件 数据 内容 篇文章 帮助 会创 名字 时候 特性 电话 结果 学习 延迟 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 疫情对互联网科技公司影响 盈实互联网科技 互联网科技资迅 华宇互联网科技 青岛互联网科技公司 苏州互联网科技贷款公司 中国互联网金融科技基金 镁科技互联网资讯平台 成都仁贤领冠互联网科技有限公司 中国最先进互联网科技公司 互联网和高科技公司 中盈科技互联网信息有限公司 河南猎农互联网科技有限公司 互联网保险科技创业 想开互联网科技公司怎么样 互联网企业科技类企业如何做账 江苏苏星互联网科技有限公司 广东工业互联网大赛深圳学泰科技 互联网硬科技公司 张家口科技产业互联网平台 金融科技和互联网金融 深圳前海聚择互联网科技有限公司 全球顶尖互联网科技公司 浙江互联网科技研学营 荆州市昕露互联网络科技有限公司 厦门千工互联网科技有限公司 如何创新互联网科技 互联网科技和法律行业 徐州市互联网科技有限公司 知域互联网科技有限公司官网
0