摘要: 在前不久的一篇随笔中,我们讨论了是否需要手动执行DataContext的Dispose方法,最终的结论是不需要(即没有必要)。那么我们很自然会想到,既然不需要手动Dispose,那么是不是可以只使用一个DataContext而没有必要每次都new一个新的DataContext呢?  阅读全文
posted @ 2010-01-29 16:52 麒麟.NET 阅读(1409) | 评论 (11)编辑
     摘要: 在上一篇随笔中,我们列举了使用LINQ to SQL对数据库进行更新的5中方案。本文将对这几种方案进行测试和对比,力求找出一个最佳实践。  阅读全文
posted @ 2010-01-26 15:19 麒麟.NET 阅读(1321) | 评论 (8)编辑
     摘要: 在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题。其实这并不是我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章。但另我无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列、去除关联等),但却没有说明为什么必须这么做。这也是我写上篇的初衷,希望通过对LINQ to SQL源代码的分析,来一步一步找出解决问题的办法。本文将对这些方法一一进行讨论。  阅读全文
posted @ 2010-01-22 09:29 麒麟.NET 阅读(1528) | 评论 (17)编辑
     摘要: 在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作。下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me。  阅读全文
posted @ 2010-01-20 17:07 麒麟.NET 阅读(1845) | 评论 (29)编辑
     摘要: 记录一下SQL中CASE WHEN语句的用法。  阅读全文
posted @ 2010-01-11 14:53 麒麟.NET 阅读(145) | 评论 (0)编辑
     摘要: 使用表达式树访问对象的成员,可以避免常规反射方法导致的硬编码问题。  阅读全文
posted @ 2010-01-07 16:33 麒麟.NET 阅读(103) | 评论 (0)编辑
     摘要: 在C#中,凡是实现了IDisposable接口的类,都推荐的使用using语句。尽管DataContext也实现了IDisposable,但真的有必要手动执行其Dispose方法吗?  阅读全文
posted @ 2010-01-04 17:17 麒麟.NET 阅读(1332) | 评论 (14)编辑
     摘要: 十年。 十年花间一壶酒,十年指尖一缕烟。 21世纪的第一个十年,正在滴答作响的读秒。蓦然回首,这是怎样的十年?十年的我,发生了怎样的改变?  阅读全文
posted @ 2009-12-28 15:03 麒麟.NET 阅读(161) | 评论 (3)编辑
     摘要: 我们在写代码时往往会在foreach语句中使用某个方法,如: foreach (string foo in Foo()) { } 在这段代码中,Foo方法会执行多次吗?  阅读全文
posted @ 2009-12-22 15:55 麒麟.NET 阅读(109) | 评论 (1)编辑
     摘要: 在警惕值类型的陷阱中,乌卡卡同学指出第一个示例之所以出现问题,是因为委托的实现方式不对。我能想到的“委托的实现方式”除了这种正常的赋值,剩下的就是用Lambda表达式或匿名方法了了,于是我把代码改为如下的形式   阅读全文
posted @ 2009-12-10 10:53 麒麟.NET 阅读(1434) | 评论 (17)编辑
     摘要: 在使用值类型LazyString分析字符串的评论中,有人贴出了这样两段有意思的代码。我们来逐一分析。  阅读全文
posted @ 2009-12-09 16:37 麒麟.NET 阅读(1342) | 评论 (14)编辑
     摘要: 31天重构速成中文版下载  阅读全文
posted @ 2009-12-08 12:58 麒麟.NET 阅读(3669) | 评论 (58)编辑
     摘要: 本文主要介绍如何使用MyEclipse Hibernate Tool工具自动生成持久化类。  阅读全文
posted @ 2009-11-09 15:40 麒麟.NET 阅读(294) | 评论 (2)编辑
     摘要: Jeffrey Richter在最新的随笔中透露,CLR via C# 3rd Edition已经提交出版社编辑,并将于明年3月22日Visual Studio 2010发布时同步出版。  阅读全文
posted @ 2009-11-02 15:17 麒麟.NET 阅读(372) | 评论 (3)编辑
     摘要: 在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法。在View中,包含一个类型为HtmlHelper的属性Html,它为我们呈现控件提供了捷径。我们今天主要来讨论Html.DropDownList的用法。   阅读全文
posted @ 2009-10-28 10:20 麒麟.NET 阅读(1648) | 评论 (9)编辑
     摘要: 本文作为使用Axis2创建Web Service的后篇,主要介绍如何使用Axis2调用Web Service。  阅读全文
posted @ 2009-09-22 09:49 麒麟.NET 阅读(380) | 评论 (0)编辑
     摘要: 本文主要介绍如何用Axis2创建Web Service。  阅读全文
posted @ 2009-09-21 14:23 麒麟.NET 阅读(411) | 评论 (0)编辑
     摘要: 我最近对相对论突然产生了兴趣,明白了时间是相对的,而不是绝对的。处于运动中的物体,其时间会变慢,处于高速运动中的物体,时间的变慢会更为明显。假如我可以乘坐一部以N倍光速飞速行驶的列车,时间会不会变为负值呢?说不定真的可以穿越时空,回到从前。  阅读全文
posted @ 2009-09-14 14:39 麒麟.NET 阅读(222) | 评论 (1)编辑
     摘要: 委托与很多设计模式都有着千丝万缕的联系,在前面的随笔中已经介绍了委托与策略模式的联系,本节主要来讨论委托与其他两个模式:观察者模式和模板方法模式。  阅读全文
posted @ 2009-09-07 16:59 麒麟.NET 阅读(2269) | 评论 (7)编辑
     摘要: 在把委托说透(1)和(2)中,先后介绍了委托的语法和本质,本文重点介绍.NET中与委托息息相关的概念——事件  阅读全文
posted @ 2009-09-02 17:12 麒麟.NET 阅读(2310) | 评论 (12)编辑
     摘要: 这不是一篇介绍Lambda表达式与递归函数的随笔,而是介绍这方面知识的链接集合。  阅读全文
posted @ 2009-09-01 14:12 麒麟.NET 阅读(254) | 评论 (1)编辑
     摘要: 在上一篇随笔中我们通过示例逐步引入了委托,并比较了委托和接口。本文将重点剖析委托的实质。  阅读全文
posted @ 2009-08-28 09:56 麒麟.NET 阅读(3154) | 评论 (28)编辑
     摘要: 委托,本是一个非常基础的.NET概念,但前一阵子在园子里却引起轩然大波。先是Michael Tao的随笔让人们将委托的写法与茴香豆联系到了一起,接着老赵又用一系列文章分析委托写法的演变,并告诫“嘲笑孔乙己的朋友们,你们在一味鄙视“茴”的四种写法的同时,说不定也失去了一个了解中国传统文化的机会呢!”。  阅读全文
posted @ 2009-08-26 13:46 麒麟.NET 阅读(4463) | 评论 (43)编辑
     摘要: 今天偶然又看到李之仪的这首卜算子,七夕将至,感慨万千。想起和妻子长达9年的两地分居,不禁潸然。  阅读全文
posted @ 2009-08-25 14:05 麒麟.NET 阅读(181) | 评论 (6)编辑
     摘要: 昨天下班的路上,一个旋律不停在耳边回响,于是我填上这个词,居然觉得很好听。这是一首摇滚风格的歌曲,需要用“唐朝”的那种嗓音去演唱。 可惜谱子我写不出来,只能存在脑子里了。但愿以后看到这个词,还能想起旋律。这个词只是临时创作,与目前的生活状况毫无关系。   阅读全文
posted @ 2009-08-12 16:16 麒麟.NET 阅读(188) | 评论 (1)编辑
     摘要: 使用DataGridView时需要注意的两个小问题  阅读全文
posted @ 2009-08-04 16:18 麒麟.NET 阅读(607) | 评论 (1)编辑
     摘要: 懒人王的TDD by example (1) -- 挑战让我想起了多年前抱着文曲星猜数的时光,逝者如斯夫……我本人一直认为TDD是个很玄妙的东西,它对我们习惯的功能驱动的编程方式是一种颠覆。我一直想实践一下,但是没有机会。希望能够从懒人王的这个系列里学到想学的东西。在此先实现一个非TDD的实现,回头再比较一下与TDD的方式有什么不同。由于时间仓促,没有过多的OO。整个代...  阅读全文
posted @ 2009-07-08 16:33 麒麟.NET 阅读(1263) | 评论 (8)编辑
     摘要: 1999年7月7日,在经历了近50年最热的一个星期之后,河北廊坊这个小城终于迎来了一场及时雨。我坐在窗边沐浴着让人清爽的凉风,参加了这一年的高考。现在对于当年的高考仅剩下一些琐碎的记忆,暂且记录如下。1. 语文考试的选择题出奇得难,但是最后估分时发现选择题居然全对。2. 作文题目为《假如记忆可以移植》,我写了一篇小说。讲的是我的叔叔(大科学家)发明了一个可以移植记忆的机器,我移植了父亲(大文学家)...  阅读全文
posted @ 2009-07-07 12:08 麒麟.NET 阅读(224) | 评论 (6)编辑
     摘要: 我们通常所讨论的多态,就是指子类对父类方法的重写(虚方法)或覆盖(非虚方法),这样的理解未免过于狭隘。.NET强大的特性能够实现其他语言中无法实现的多态性。  阅读全文
posted @ 2009-07-06 15:56 麒麟.NET 阅读(2003) | 评论 (27)编辑
     摘要: 本文主要介绍VS中的常用功能(笔者常用的)在Eclipse下如何实现,希望对转战到Eclipse的原.NET程序员有所帮助。  阅读全文
posted @ 2009-06-22 16:57 麒麟.NET 阅读(428) | 评论 (1)编辑