The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

解決 LINQ to SQL 針對更新大型物件的效率極差的問題

我有一個頁面是使用 DetailsView 進行資料的新增與更新動作,其中有個圖片欄位在資料庫中的資料格式為 VarBinary(MAX),直接用來儲存圖檔的二進位內容,在新增資料的時候上傳檔案並存入資料庫中,在更新的時候直更新該欄位的內容,不過在更新的時候執行的時間都非常久,即便是上傳 10KB 左右的圖檔,在執行到 db.SubmitChanges(); 時都會執行個 30 秒以上,如果上傳幾 MB 的檔案就要執行好幾分鐘,所以常常會發生 Timeout 的情況。

... 繼續閱讀 ...

解決 LINQ to SQL 資料庫更新衝突的情形

我前陣子遇到一個偶發的錯誤狀況,就是我在我某個頁面中需要計算文件下載的次數,因此需要每次進入頁面時都要讓該筆資料的 num 欄位的值自動加 1,也就是每次都要更新資料庫,但是每過幾天就有可能收到幾個 System.Data.Linq.ChangeConflictException 例外狀況,錯誤訊息如下:

... 繼續閱讀 ...

設計 LINQ to SQL Class 的注意事項 (2)

延續之前寫的設計 LINQ to SQL Class 的注意事項,最近又有一些小心得可以分享。

... 繼續閱讀 ...

好用的 Json.NET 2.0 已發佈

JSON ( Javascript Object Notation ) 是一種很方便的資料格式,常用於 AJAX 的相關應用中,主要是可以將 JavaScript 的物件資料變成一種字串的格式,以方便網路傳輸,也是序列化的一種方式。

... 繼續閱讀 ...

在撰寫 LINQ to SQL 時應注意的幾個小地方

這陣子的專案幾乎每個都會用到 LINQ to SQL 技術,但我發現有些人在撰寫程式碼的時候有些不太好的習慣,會對資料庫進行一些多餘的查詢動作或建立多餘的 DataContext,以下是我最近觀察到的幾種狀況與建議的寫法:

... 繼續閱讀 ...

好用的 Linq Samples and the Sample Query Explorer

上次在微軟 Windows Server 2008 與 Visual Studio 2008聯合上市發表會看到有講師執行一個 LINQ Project Sample Query Explorer,覺得很好用,因為他把所有 LINQ 的範例放在程式裡,點選之後就會出現語法,還可以執行,真是學習 LINQ 的絕佳教材。

... 繼續閱讀 ...

SQL 2000 的 Uniqueidentifier 欄位在 LINQ to SQL 的問題

我有個專案原本都在 SQL Server 2005 上面開發的,到最後才將資料庫轉換到 SQL Server 2000 上,結果在執行 Insert 的時候卻發生 "The primary key column of type 'UniqueIdentifier' cannot be generated by the server. " 錯誤訊息,如下圖:

... 繼續閱讀 ...

好用的 LINQ to CSV library

在做「匯出資料」功能的時候常會使用到 CSV ( Comma Separated Value ) 這種檔案格式,雖然格式並不複雜,但有好用的 Library 當然也能夠更省事啦。

... 繼續閱讀 ...

ListView + LinqDataSource 在套雙層版面時的問題

我在 超完美組合:LinqDataSource + ListView + DataPager + jQuery 文章中有概略提到如何透過一個 LinqDataSource 控制項進行「雙層 ListView 控制項」的套版,不過我最近卻遇到一個問題,也就是「第二層」的 ListView 顯示的資料無法指定特定欄位做排序(Sorting)。

... 繼續閱讀 ...