LINQ

来源:互联网 发布:贝叶斯准则 python 编辑:程序博客网 时间:2024/05/12 15:19

1. LINQ to Objects      只要实现了IEnumerable或IEnumerable<T>接口,就都支持。
2. LINQ to SQL(ADO.NET)  

    LINQ to DataSet、LINQ to SQL 和 LINQ to Entities。

    LINQ to DataSet 提供对 DataSet 的更为丰富的优化查询,

    LINQ to SQL 可以直接查询 SQL Server 数据库架构,

    LINQ to Entities 可以查询实体数据模型。

3. LINQ to XML

 

LINQ可以看作对foreach循环的改进:
1.它们更简明、更易读,尤其在筛选多个条件时。
2.它们使用最少的应用程序代码提供强大的筛选、排序和分组功能。
3.无需修改或只需做很小的修改即可将它们移植到其他数据源。
通常,您要对数据执行的操作越复杂,您体会到的使用 LINQ 代替传统迭代技术的好处就越多。

 

LINQ TO SQL:

a. LINQ要求数据库表必须有主键。

b. 做update操作时,生成的sql语句中where条件中不仅包括主键id=?,而且包括表中各列 and column2=? and   column3=?。。。    这是LINQ自动生成SQL语句的严谨所在,这是为了防止并发情况下,多个事务针对同一条记录更新时发生错误,假如A事务更新了该记录,则B事务更新会失败。

c. update不能更新主键。

d. skip().take()生成的sql实际就是: select count(*) from,    以及 row_num()来实现分页。

e. 效率没有直接使用T-SQL高,感觉适合于中小规模的,数据量不是特别大的开发中。而且其与asp.net中的一些控件的结合使用可能不是很方便。

f. 不如使用T-SQL灵活,尤其是查询比较复杂,多表联接,使用case函数等。

原创粉丝点击