摘要: 0. 并发冲突的示例 单用户的系统现在应该比较罕见了,一般系统都会有很多用户在同时进行操作;在多用户系统中,涉及到的一个普遍问题:当多个用户“同时”更新(修改或者删除)同一条记录时,该如何更新呢? 下图展示了开放式并发冲突的一个示例: 假设数据库中有一条记录Record{Field1=5, Field2=6, Field3=7}(以下简写为{5, 6, 7}),A、B两个用户按照如下顺序操作这一...
阅读全文
posted @
2010-01-30 18:23 Silent Void 阅读(23) |
评论 (0) |
编辑
摘要: 0. 说明 Linq to Sql,以下简称L2S。 以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里的分层并不是特别明确:(1) 生成的DataContext(Linq t0 SQL Runtime)和Entity是放在一个文件中的,物理上不能切割开来;上图只是展示逻辑上的结构。(2) 拿上图右边的三层结构来说,鉴于第(1)点,UI层就可以跨越BusinessLogic层,直接访...
阅读全文
posted @
2010-01-29 16:07 Silent Void 阅读(86) |
评论 (0) |
编辑
摘要: 前一篇在介绍动态查询时,提到一个问题:如何根据用户的输入条件,动态构造这个过滤条件表达式呢?Expression<Func<ProductExt, bool>> predicate t => t.ProductName.Contains("che") && t.UnitPrice >= 22; 理想情况下,我希望可以像下面这样来构造predic...
阅读全文
posted @
2010-01-28 15:21 Silent Void 阅读(78) |
评论 (0) |
编辑
摘要: Linq to SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务。(from MSDN: 事务 (LINQ to SQL))。MSDN中描述得相对比较粗狂,下面就结合实例来对此进行阐述。 0. 测试环境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP...
阅读全文
posted @
2010-01-27 14:47 Silent Void 阅读(850) |
评论 (3) |
编辑
摘要: 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应...
阅读全文
posted @
2010-01-26 20:01 Silent Void 阅读(968) |
评论 (5) |
编辑
摘要: 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应...
阅读全文
posted @
2010-01-25 13:55 Silent Void 阅读(727) |
评论 (14) |
编辑
摘要: 摘自《少有人走的路》。M. 斯科特.派克[著] 在某种程度上,人人都害怕承受痛苦,遇到问题就慌不择路,望风而逃。有的人不断拖延时间,等待问题自行消失;有的人对问题视而不见,或尽量忘记他们的存在;有的人与麻醉药和毒品为伴,想把问题排除在意识之外,换得片刻解脱。我们总是规避问题,而不是与问题正面搏击。我们只是想远离问题,却不想经受解决问题带来的痛苦。 规避问题和逃避问题的趋向,是人类心理疾病的根源...
阅读全文
posted @
2009-03-28 15:42 Silent Void 阅读(137) |
评论 (0) |
编辑
摘要: PIVOT和UNPIVOT两个运算符可将表中的数据进行行列置换;本文介绍这两个关系运算的语法、语义、实现原理,及与其他关系运算联合使用时,SQL Server 2005所做的优化。翻译得很烂,并没有严
阅读全文
posted @
2008-12-20 22:20 Silent Void 阅读(296) |
评论 (1) |
编辑
摘要: 功能:
1.自由配置文件格式:生成的DataTable的主键、文件内容中是否有表头、列分隔符、列是否可空、列中数据类型(String型可加长度限制)、列是否导进DataTable;
2.支持TXT、CSV、XLS、XLSX格式;(08-11-29日更新,增加了Xls和Xlsx文件导入支持)
3.生成错误信息报告:支持读到N条错误数据后,终止文件解析(N可配置,暂时先写死在Code中,提供源码可自行加入配置);
4.解析大文件时,支持行读;
5. 支持传入文件名或者Stream(例如Web上传后直接取得数据流)
阅读全文
posted @
2008-10-29 00:03 Silent Void 阅读(364) |
评论 (4) |
编辑
摘要: 看到这个题目,联想到另一个题目:给出一个数n,求1到n这些数之和.哇靠,小学算术题,这不是侮辱咱的智商嘛~计算机最擅长干重复的劳动了,于是乎,潇洒地抖出了下面code,把循环交给计算机去做。。。
阅读全文
posted @
2008-10-19 23:02 Silent Void 阅读(444) |
评论 (4) |
编辑
摘要: 例如现有文件内容如下:
-----------文件内容开始--------
Column1,Column2
00001234,00005678
-----------文件内容结束--------
读得的结果是<1234, 5678>,即它“智能”地认为我里面的内容为数字;而我希望它把内容当文本来处理,期望的结果是<00001234,00005678>,请问有没有什么方法可以直接用?
阅读全文
posted @
2008-06-22 09:44 Silent Void 阅读(791) |
评论 (2) |
编辑