Linq處理日期的小技巧,你知道嗎?Linq對DateTime的處理如:屬性、方法,是支援轉譯的,原來Linq的DateTime處理可以這樣寫。
Unit Test小技巧 : DateTime的Stub
為什麼要寫一個DateTime的Stub呢?
在有些情況必需判斷今天,如不同的節日,不同的Logo,因為System.DateTime.Now或Today,沒有辦法模擬,寫Unit Test時就沒有辦法測各個時間點的反應,總不可能做個測試要改系統時間吧。
解決TFS Build Asp.Net Mvc開啟MvcBuildViews後無法載入組件問題
為了在編譯時期就可以發現View中的語法錯誤,我們會將MvcBuildViews設成true,但因為公司有使用TFS的MSBuild,會因為環境的關係而產生問題,如無法載入組件。
Visual Studio單元測試小應用-測執行時間
- 10354
- 0
- Visual Studio
Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單元測試來測,快又簡單。
jQuery.attr('class')與jQuery.attr('className')的差異
今天同事們因為jQuery.attr('class')與jQuery.attr('className')這二個操作起了誰對誰錯問題,事實上這個的操作最後的結果都是一樣的,他的作用是,取得或更新Html Element的Class,那為什麼要建立二個一樣的東西出來呢?
Expression應用:把它當參數用
在寫商業層(Business Logic Layer)或資料存取層(Data Access Layer),最覺得麻煩的是,明明是同樣的資料要出輸,要為個個不同的需求做條件篩選,每一個條件都要寫成一個參數,然後一堆的if判斷,而以多一個條件又要多一個參數,或是寫一個新的Method,不小心還會影響其他地方,我覺得是一個焦油坑,就在思考有什麼方式比較好,就讓我想到Linq的方式,用Expression。
jQuery plugin Validation的7個Callback介紹
Validation是jQuery的一個很強的驗證使用者輸入的plugin,功能強就算了,還非常的有彈性,可以客制非常多的東西,這次要介紹的是7個Callback使用,讓用Validation更隨心所欲。
Entity Framework批次Update與Delete
用Linq To Sql或Linq To Entity Framework,在Select方面用起來有如神助飛快的方便,但在批次Update或Delete方面就遜色很多,完全就如Ado.Net時期下SQL一樣,沒有物件導向可言。
本篇將介紹如何用挖出Entity Framework的Metadata,以Expression的方式組成Sql。
TFS 2010 封閉簽入(Gated Check-in),拒絕Build失敗的程式碼簽入
封閉簽入是Team Foundation Server 2010新增的功能,開啟這個功能後,所有的要簽入的程式碼先上傳到擱置集(Shelveset),然後在Bulid Sever中下載原始碼並Build成功後,才會真的簽入變更集(Changeset),這樣可以確保每一個簽入的都是可以Build的,在多人開發時不會照成一個人簽入不完成的程式碼,使其他所有人都無法在Build,照成其他的開發的困擾,如果在搭配單元測試做自動化測試,可以大幅增加程式碼的正確性。
Visual Studio 2010分析工具之Dependency Graph
- 17096
- 0
- Visual Studio
Dependency Graph(相依性圖形)是Visual Studio 2010新增的Code分析工具,大到Assembly小到Method的各種相依關係,從一個Assembly角度看,誰呼叫了我,我呼叫了誰,除了自動化產生所有方案中的關係外,可以從Architecture Explorer(架構總管)中產生部分自己想看的關連。
Visual Studio 2010分析工具之Architecture Explorer
- 11889
- 0
- Visual Studio
Architecture Explorer(架構總管)是Visual Studio 2010新增的Code分析工具,提供多種角度巡覽Code或產生Dependency Graph(相依性圖型)檢視大到Assembly小到Method的各種關係,可以快速了解整個系統面,也可以更方便的改善與修改Code,本篇說明學習如何使用Architecture Explorer來Drill Down現有程式。
Silverlight 4使用Domain Service做資料快速存取
- 14296
- 0
- Silverlight
- 2010-11-09
在Silverlight 4之前要做到資料存取,必需在後端寫Web Services,讓Silverlight呼叫,Select、Update、Delete、Insert可能要寫4個Method,10個Table要存取最少就要寫40個Method,雖然Ajax也是這樣寫,不過還有一個jQuery可以用,但Silverlight卻沒有(雜七雜八的第三方有啦),寫起來有種被折磨的感覺。
Silverlight 4比較好就是新增Domain Service技術,可以自動產生WCF的Web Services存取用Linq或Entity Framework工具拉出來的Table或Entity,在Silverlight專案中也有自動產生Proxy,而且還是不用去管理的Proxy,不用像之前Web Services更新了,還要手動更新Web參考,省了不少功夫。
用Silverlight做後台好嗎?
- 11460
- 0
今天同事跟我討論用Silverlight做後台,這種資料為主的網站用Silverlight開發,一定做的到,但我個人覺得比較累。
使用Expression做Linq的參數化排序
Linq非常的好用,減少大量的資料庫操作手序,使用具名的類別,減少了在程式中寫SQL寫錯字的可能性,問題來了,如果我想用QueryString中的參數,作為排序的依據,但是因為是具名的類別,不能指定字串,剛開始我是用switch一個一個指定,但欄位一多就覺得這方法很笨,在搜尋更好的方法中發現使用System.Linq.Expressions.Expression可以決解這個問題。 如果各位有仔細看,會發現System.Linq.Queryable下的Method參數都有Expression,如本篇要用的OrderBy。
自動判斷時區(TimeZone)與時間轉換之IP address database
前些日子,一個專案因為使用者分散在不同的國家中,所以有一個需求是必需要自動判斷使用者所在的時區,將時間轉換成當地時間,有找到幾個方案,其中使用IP address database是比較簡單的,有很多公司有推出IP對應的國家、地區、時區,大部分都要錢,不然就是免費版本的資料量不多,剛好有找到一家完全免費的IpInfoDB,本篇分享如何用此資料庫完成時區轉換。
Silverlight 4 右鍵選單(ContextMenu)
- 24547
- 0
在silverlight 3 時必需要寫javascript才能做到右鍵選單,到4的時候省了javascript這一步驟,但後序的處理,還沒有像window form可以拉拉control就可以做到,要自己處理popup的open、close、選單的樣式、事件等等,很麻煩,也應此各式各樣第三方套件就出來了,像silverlight 4 toolkit中的contextmenuservice,不過呢,小弟想自己寫寫做練習,也就有了本篇。
[小技巧]用string.format的{{n}},做二段式format。
- 6984
- 0
有時format沒有辦法一次格式化完成,或是組合成Template事後在使用,這時就可以用string.format的escape {{ }},來做二段式的format。
ItemsControls的ItemsPanel、ItemTemplate與ItemContainerStyle說明
- 9125
- 0
- 2010-06-18
Silverlight的每一個控件(Control),都有Template可以完整的改變整個控件的樣式,不像HTML只能設定Style,有更大的彈性,想將Button改成像GridView也是可行的,而ItemsControls列表式控件是ListBox與ComboBox的基類,更多了ItemsPanel、ItemTemplate兩種Template,ListBox與ComboBox中又有ItemContainerStyle,有更多的花樣可以變化。
不錯的幾個ICON搜尋網站推廌
- 9387
- 0
應用程式要讓人看了喜歡,覺得漂亮,必少不了一些圖示,而且應用程式中有些地方用文字表達遠沒有圖示好(如ToolBar),相信也有不少開發人跟我一樣,程式要自己寫,美工也有自己用,小弟我的美術細胞不好,要我自己畫圖跟要我命一樣,不過還好總是有善心的美術設計師分享他的作品,不過這些圖示在Google是非常不好找的,不過到是有幾個搜尋網站專門在收集這些圖示,方便大家使用。
Silverlight的事件氣泡(EventBubbling)
- 14245
- 0
- 2010-06-10
元件重疊在一起,當發生滑鼠點擊事件,你發現他會從最上面的元件開始,每個元件都會發生事件,這現像不光只是有在Silverlight中有,Web或Window From也有這現象。
要防止這個現像也很簡單,只要讓MouseButtonEventArgs.Handled值為true就可以了。