黄小二的讀書筆記
有才而性缓定属大才,有智而气和斯为大智。人偏狭我受之以宽容,人险仄我持之以坦荡。缓事宜急干,敏则有功;急事宜缓办,忙则多措。 --李叔同
首页
新随笔
聚合
管理
随笔-7 评论-24 文章-102 trackbacks-0
Linq 使用小心得
Linq查询操作的三步骤:
1.准备数据源
2.创建查询
3.执行查询
一般情况下,查询变量本身不会保存查询结果,而是存储查询命令。执行Linq查询存在两种方式:
延迟执行:
是指查询表达式不是在其被创建时执行,而是当需要访问(如使用 foreach 语句)该查询的结果才执行查询表达式。
立即执行:
是指查询表达式在其创建时就立即执行。如包含了Sum()、Count()等查询操作的查询表达式。
小摘要
LINQ的确给人耳目一新的感觉,因为其是C#
3
.0扩展的新语法,直接将查询语言与编程语言集成在一起了,用起来确实方便。
这并不影响系统的分层设计,分层设计依然是软件设计的好方法,只是你又有了更厉害的武器LINQ而已。
但你不能因为有了这个宝贝就处处使用它,因为并非所有的地方都适合LINQ的。
LINQ毕竟是通过离散的内存对象来访问数据的,在海量数据处理的应用中,建立一个个的内存对象来处理数据的开销往往是天文数字。所以,O
/
R Mapping一般都是用在处理少量数据的情况,对象化的处理可以带来方便。
还有就是查询语言与编程语言集成也带来另一个问题,就是查询代码的“硬化”。所谓代码硬化,指的是代码被人为或自动写死,并在运行时不可更改。也就是说,“硬化”的代码遇到数据结构变化或查询需求变化时,需要重新修改源代码,再生成运行版本,这是“硬化”代码的通病。
而以前的SQL语句本身是编程语言的字符串数据而已,因此可以把SQL逻辑独立出来形成外部SQL文件或数据库内的存储过程,当数据库需求变化时,可以在不停止系统运行的情况下修改这些SQL逻辑完成需求变更。甚至有些做得好的数据库系统是以“数据字典”驱动的,数据结构的任何变化都不影响编程语言的源代码。
当然,你也可以通过动态生成LINQ并即时编译的办法来独立查询逻辑等,有兴趣可以试试。
总之,任何东西都有利有弊,要看具体情况而定。表现层、业务层和数据层也并非一定要从物理上划分,只要逻辑上存在分层即可,只要简化设计帮助人们理解即可。
posted on 2008-12-23 10:28
黄小二
阅读(247)
评论(0)
编辑
收藏
所属分类:
C#
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
[转] DataBinder.Eval用法
[转]Response.Redirect(),Server.Transfer(),Server.Execute()的区别
DataTable、DataView、ListBox 数据绑定与查询
Enterprise Library 4 之 DAAB使用
存储过程返回的多结果集数据,ado 访问调用
iis tomcat 服务集成
C# 程序发布/部署相关
Enterprise Library 企业库笔记
C# XML的一点记录
Xml 处理类(更新中...)
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
文章分类
(147)
[DB](5)
[DB].MySQL(7)
[DB].Oracle(14)
[DB].SQL Server(8)
Ajax(13)
ASP.NET(18)
C#(19)
J2EE(22)
J2SE(12)
S/S2SH(15)
Web Design(8)
杂谈(6)
文章档案
(108)
2010年6月 (1)
2010年5月 (12)
2010年4月 (18)
2009年9月 (3)
2009年8月 (2)
2009年7月 (6)
2009年6月 (3)
2009年5月 (7)
2009年4月 (10)
2009年3月 (1)
2009年1月 (1)
2008年12月 (4)
2008年11月 (1)
2008年10月 (17)
2008年9月 (17)
2008年8月 (2)
2008年7月 (3)
在线帮助
Java API Specifications
Java 开源大全
javaNB 在线文档
MSDN 技术资源库
MySQL 5.1参考手册
Oracle Documentation
w3school 在线教程
开源软件库
Ajax/JavaScript脚本大全
Asp.net源码专业站
CSDN开源频道
CSS9.NET
源码爱好者
社区
developerWorks 中国
最新评论
1. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--专业祛痘
2. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--lolola
3. re: 在 WinForm中使用 WebClient上传文件
44444444444444444444444
--热热
4. re: 使用 HibernateTemplate 实现分页查询 (HibernateCallback接口)
评论内容较长,点击标题查看
--redcoatjk
5. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--谢谢楼主
评论排行榜