1、这段代码的不同在于我们将LINQ的查询返回IEnumerable类型linqsql区别,我们看一下vs的Intellisense效果由于我们在LINQ查询的时候加上了AsEnumerable,因此我们在第二条语句能看到返回类型已经变为IEnumerable,参数也变成了Funclt类型至于这两段代码到底有什么区别,我们分别执行代码,在sql profiler里看一下生成的linqsql区别;linq是面向对象的sql也就是说,sql是向关系型数据库的查询,而linq实际上是对内存里的数据的查询虽然linq原来是对象查询,但经过ms的努力,可以通过表达式分析与实体到关系的映射linq to sql,把linq转换为sql语句或是对xml的查询linq to xml因此,这种技术就成了对象到数据库记录的一个linqsql区别;综尔言之,linq to sql是一个数据库到对象结构的一个中间层, linqsql区别他把对关系数据的管理转变为对象的操作,屏蔽了麻烦的sql,而且,还可以得到vs强大的智能感知功能的帮助 LINQ,语言集成查询Language INtegrated Query是一组用于c#和Visual Basic语言的扩展它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作。
2、select子句产生结果序列的类型,决定了查询变量的类型在最简单情况下,select子句就指定局部变量,使得返回序列包含了与数据源一样的类型然而,select子句也提供将源数据变换为新类型另外一个很重要的功能是,查询表达式必须用select子句或group子句结尾。
3、UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1UNION 的语法如下SQL 语句 1UNION SQL 语句 22UNION ALL 的语法如下SQL 语句 1UNION ALL SQL 语句 2效率UNION和UNION ALL关键字都是将两个结果集合并为一个。
4、LINQ to SQL和Entity Framework都是一种包含LINQ功能的对象关系映射技术他们之间的本质区别在于EF对数据库架构和查询的类型实行了更好的解耦使用EF,查询的对象不再是完全对应数据库架构的C#类,而是更高层的抽象Entity Data Model这提供了额外的灵活性,但是在性能和简单性上面也会有所损失具体。
5、查询表达式表面上看起来像SQL,但两者有很大的不同LINQ查询归结为C#表达式,遵循标准C#规则,而SQL查询则包含主要与无序集一起使用的子句网络LINQ中的数据在逻辑上从左向右流过查询,而SQL的顺序在数据流方面的结构则不太清晰查询语法与流畅语法的对比对于涉及复杂组合的查询,查询语法更简单对于。
还没有评论,来说两句吧...