身為一個程式設計師最討厭的就是被侷限在框框裡寫程式,我們唯一的限制應該是在我們的創意而非架構。像 LINQ 剛出來的時候我覺得超級好用,不過等用在專案上實做的時候才發現綁手綁腳的,想要動態組成一個 LINQ 語法難上加難,結果過沒多久就在 ScottGu's Blog 看到一篇 Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library),看到的時候好像挖到寶一樣,以前在開發時卡住的問題全部都解決了,從今年 2 月份用到現在簡直是幾乎忘了它的存在,以致於這幾個月都沒有提及 Dynamic LINQ 這個好東西,直接上週一個朋友問我:『LINQ 的 Where 條件可以像以前組 SQL Command 一樣動態組裝嗎?』,我馬上跟他說有 Dynamic LINQ 這個東西,不用多說,他跟我剛看到 Dynamic LINQ 的時候一樣覺得:Bravo! ( 太棒了 )
... 繼續閱讀 ...
我們通常會使用 DetailsView 或 FormView 控制項進行資料的新增、編輯、刪除等動作,而通常我們會在裡面放置許多 Validator 控制項以驗證資料格式是否正確,不過當進行較大的專案時,開發人數通常會比較多,而且人員之間的分工也會比較明確,有的人做 SA、有的人做 DBA、有的人做 ASP.NET UI Process 開發...等等,在分層負責的情況下若能夠有效分割工作,不但專案品質會比較高,大家在寫程式的過程中也會比較專注。
... 繼續閱讀 ...
我有一個頁面是使用 DetailsView 進行資料的新增與更新動作,其中有個圖片欄位在資料庫中的資料格式為 VarBinary(MAX),直接用來儲存圖檔的二進位內容,在新增資料的時候上傳檔案並存入資料庫中,在更新的時候直更新該欄位的內容,不過在更新的時候執行的時間都非常久,即便是上傳 10KB 左右的圖檔,在執行到 db.SubmitChanges(); 時都會執行個 30 秒以上,如果上傳幾 MB 的檔案就要執行好幾分鐘,所以常常會發生 Timeout 的情況。
... 繼續閱讀 ...
我前陣子遇到一個偶發的錯誤狀況,就是我在我某個頁面中需要計算文件下載的次數,因此需要每次進入頁面時都要讓該筆資料的 num 欄位的值自動加 1,也就是每次都要更新資料庫,但是每過幾天就有可能收到幾個 System.Data.Linq.ChangeConflictException 例外狀況,錯誤訊息如下:
... 繼續閱讀 ...
JSON ( Javascript Object Notation ) 是一種很方便的資料格式,常用於 AJAX 的相關應用中,主要是可以將 JavaScript 的物件資料變成一種字串的格式,以方便網路傳輸,也是序列化的一種方式。
... 繼續閱讀 ...
這陣子的專案幾乎每個都會用到 LINQ to SQL 技術,但我發現有些人在撰寫程式碼的時候有些不太好的習慣,會對資料庫進行一些多餘的查詢動作或建立多餘的 DataContext,以下是我最近觀察到的幾種狀況與建議的寫法:
... 繼續閱讀 ...
上次在微軟 Windows Server 2008 與 Visual Studio 2008聯合上市發表會看到有講師執行一個 LINQ Project Sample Query Explorer,覺得很好用,因為他把所有 LINQ 的範例放在程式裡,點選之後就會出現語法,還可以執行,真是學習 LINQ 的絕佳教材。
... 繼續閱讀 ...