背景 昨天發布了一個編號生成器(http://www.cnblogs.com/happyframework/p/3177128.html),有朋友留言問支不支持某些規則,因為是可以擴展的,所以很容易支持各種規則,今天我就寫了另外兩種規則,也是對留言的朋友做一個回復。 留言A 留言 ...
背景 應用程序引導經常要做如下這些事情: 動態加載DLL 或各種插件 。 注冊IOC容器。 設置其他全局配置。 尤其以注冊IOC容器的代碼最煩人,看一個我昨天寫的煩人代碼: 是不是很糟糕,看着不爽。這也是我寫這篇文章的目的。 新框架原理 約定勝於配置 用新框架重新昨天的配置代碼 這樣是不是看着舒服多了。 備注 代碼示例,可以直接去http: happy.codeplex.com SourceCon ...
2013-05-22 08:35 10 1730 推薦指數:
背景 昨天發布了一個編號生成器(http://www.cnblogs.com/happyframework/p/3177128.html),有朋友留言問支不支持某些規則,因為是可以擴展的,所以很容易支持各種規則,今天我就寫了另外兩種規則,也是對留言的朋友做一個回復。 留言A 留言 ...
前面介紹了倉儲的基本操作,下面准備開始擴展查詢,在擴展查詢之前,首先要增加兩個公共操作類,一個是經常要用到的驗證方法,另一個是Lambda表達式的操作類。 很多時候,我們會判斷一個對象是否為null,由於null是一個不能接受的值,它會導致“未將對象引用設置到對象的實例”的嚴重錯誤 ...
上一篇介紹了IQueryable的Where方法存在的問題,並擴展了一個名為Filter的過濾方法,它是Where方法的增強版。本篇將介紹查詢的另一個重要主題——分頁與排序。 對於任何一個信息系統,查詢都需要分頁,因為不可能直接返回表中的所有數據。 如果直接使用原始的Ado.Net ...
上面兩篇已經作好准備,本文將進行基礎查詢擴展。當使用了Entity Framework這樣的ORM框架以后,我們查詢的核心被集中在IQueryable的Where方法上。 如果UI需要通過姓名查詢一個客戶,會在UI上放置一個輸入框作為客戶姓名的查詢條件。服務端接收以后通過Where方法 ...
上一篇對Lambda表達式公共操作類進行了一些增強,本篇使用擴展方法對Lambda表達式進行擴展。 修改Util項目的Extensions.Expression.cs文件,代碼如下。 在Util項目中添加Operator枚舉,代碼 ...
當你使用可空的值類型時,你會發現取值很不方便,比如Guid? obj,你要從obj中獲取值,可以使用Value屬性obj. Value,但obj可能為null,這時候就會拋出一個異常。 可空 ...
敏捷時代的來臨,迫使微軟.Net技術也在向敏捷方向發展。近幾年,.Net在數據訪問、Web、測試等多個領域大刀闊斧的進行改革,新技術不斷涌現。一方面這是值得慶幸的,讓.Net程序員在開發復雜項目有了更多的選擇,一改往日只能拖控件綁定數據的局面。另一方面,程序員需要大量的學習,並且需要依賴更多 ...
對於程序員來說,如果要提高編程效率,一個好用的,功能強大的並且可以得心應手使用的編程工具往往會給我們程序員帶來莫大的方便。其實對於現在的編程工具來說,使用哪一種工具都不是問題的關鍵,重要的是你能夠使用到什么程度,畢竟現在的工具都是非常的強大,對於一般的編程任務來說還沒有不能夠勝任的工具,否則的話 ...