Type Relationships in Query Operations (LINQ) (查询操作中的类关系)
2007-08-15 23:56
253 查看
LINQ查询操作的数据都是强类型,包括数据源,查询本身。和执行查询中。使用中的变量类型必须兼容数据源中的元素和在foreach中使用的变量。强类型确保错误可以在编译的时候被发现。
net3.0为了方便使用强类型使用了type inference叫做”implicit typing“,(隐性声明,熟悉javascript和vb应该很熟悉)
例如:var city = "Redmond";
重要的是必须明白这些隐性变量在数据源,查询中,已经执行查询的loop中有同样的类型关系。对这些关系有个基本的了解是很有用的,尤其是在类型转换的时候。
一。没有对源数据进行数据转换或加工的查询
图例:
![](http://photo7.hexun.com/p/2007/0815/120978/b_58481DF82F1673B96CD0B5040999484F.jpg)
1数据源中的类型和查询的类型是一致的
2数据源中的对象类型决定了查询中的数据类型,所以查询中使用Ienumerable<>是string
3执行查询中的循环迭代也是string
二。改变源数据的查询操作
![](http://photo7.hexun.com/p/2007/0815/120980/b_2A6C32FC417B05FFA44DC19EF8829779.jpg)
select语法返回了customer的name字段而不是整个customer。而name是字符串。所以iqueryable是string。执行查询的循环迭代也是string
![](http://photo7.hexun.com/p/2007/0815/120982/b_4174C8D5484C6CF7C84F23355C08EF25.jpg)
这个图片和上面其实是一直的。返回数据的时候做了转换
三。让编译器来推断类型
就是使用var关键字拉
![](http://photo7.hexun.com/p/2007/0816/121189/b_CDE492CF680F3F9C79596C59714E2522.jpg)
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
net3.0为了方便使用强类型使用了type inference叫做”implicit typing“,(隐性声明,熟悉javascript和vb应该很熟悉)
例如:var city = "Redmond";
重要的是必须明白这些隐性变量在数据源,查询中,已经执行查询的loop中有同样的类型关系。对这些关系有个基本的了解是很有用的,尤其是在类型转换的时候。
一。没有对源数据进行数据转换或加工的查询
图例:
![](http://photo7.hexun.com/p/2007/0815/120978/b_58481DF82F1673B96CD0B5040999484F.jpg)
1数据源中的类型和查询的类型是一致的
2数据源中的对象类型决定了查询中的数据类型,所以查询中使用Ienumerable<>是string
3执行查询中的循环迭代也是string
二。改变源数据的查询操作
![](http://photo7.hexun.com/p/2007/0815/120980/b_2A6C32FC417B05FFA44DC19EF8829779.jpg)
select语法返回了customer的name字段而不是整个customer。而name是字符串。所以iqueryable是string。执行查询的循环迭代也是string
![](http://photo7.hexun.com/p/2007/0815/120982/b_4174C8D5484C6CF7C84F23355C08EF25.jpg)
这个图片和上面其实是一直的。返回数据的时候做了转换
三。让编译器来推断类型
就是使用var关键字拉
![](http://photo7.hexun.com/p/2007/0816/121189/b_CDE492CF680F3F9C79596C59714E2522.jpg)
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
相关文章推荐
- Basic Query Operations(第二章 基本的查询操作)
- Linq to sql :查询句法--in 操作
- lucene: 自定义Query: IncludeQuery (包含关系查询,相当于SQL中的IN查询)
- 光脚丫学LINQ(012):LINQ查询操作中的类型关系
- Linq to SQL 语法查询(子查询 & in操作 & join )(转载)
- [转]查询操作中的类型关系 (LINQ)
- Linq to SQL 语法查询(子查询 & in操作 & join )
- .NET LINQ查询操作中的类型关系
- Linq to SQL 语法查询....子查询 & in操作 & join
- .NET LINQ查询操作中的类型关系
- (012):LINQ查询操作中的类型关系
- C#中linq学习(Linq查询操作中的类型关系)示例
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
- Linq to SQL 语法查询(子查询 & in操作 & join )
- Linq to SQL 语法查询(子查询 & in操作 & join )
- 光脚丫学LINQ(012):LINQ查询操作中的类型关系
- C#中linq学习(Linq查询操作中的类型关系)示例
- LINQ 查询操作中的类型关系
- Spring框架针对dao层的jdbcTemplate操作crud之query查询数据操作 —— 查询表,返回结果为对象的list集合
- 如何使用 Linq to Entity 实现 in 操作