Entity Framework | The Will Will Web

The Will Will Web

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

介紹好用 Visual Studio 2010 擴充套件:All-In-One Code Framework Sample Browser

Microsoft All-In-One Code Framework 又稱 1code,集結微軟開發平台中各個技術領域的範例程式碼,目前已經累積了超過六百多個含有完整且可執行的專案原始碼在上面,主要的目的就是用來幫助學習微軟技術的開發人員解決各種工作上常見的問題,而這些範例程式碼的產生都源自於 MSDN 論壇上、社交媒體或其他開發社群等提出的種種開發問題,並由微軟員工撰寫範例程式碼提供給所有開發人員下載參考、觀摩之用,這一切不但都是免費的,更重要的是:如果你覺得他們沒有你要的範例程式,你還可以提出需求,請微軟的工程師幫你撰寫範例程式,Oh~ My GOD~~

... 繼續閱讀 ...

如何在 SQL Server 資料庫設計「一對一」表格關聯

我們在做資料庫設計時,通常都會需要設計表格之間的關聯,不過一般來說都是設定一對多的表格關聯,如果是多對多的表格關聯通常都會多設計一張表格來儲存兩個表格之間多對多的關聯關係。但是如果我們今天單純的只是想設計一些擴充欄位到另一個獨立的表格裡,這時我們在 SQL Server 裡還需要設計關聯嗎?還是在程式中自己知道就好不需要設計關聯呢?其實是需要的,只是很少人知道可以這樣設計而已!

... 繼續閱讀 ...

執行 Entity Framework 的「從資料庫更新模型」為何不更新

最近有同事遇到一個技術問題,他們的專案是採用 Entity Framework 技術,不過由於客戶端需求變更,導致資料庫欄位屬性被變更了,原本為 NOT NULL 的欄位從資料庫端已經改成了可允許 NULL,不過他們在 Visual Studio 2010 的 ADO.NET 實體資料模型設計工具 (ADO.NET Entity Data Model) 編輯 EDMX 檔案時發現執行 從資料庫更新模型 (Update Model from Database) 並不會自動反應資料庫的欄位變更到這裡,但是新增、刪除資料庫欄位時卻會更新,他們覺得很奇怪,以下就是我的回答。

... 繼續閱讀 ...

Entity Framework 如何呼叫 SQL 裡沒有回傳參數的預儲程序

其實早在 Entity Framework 4.0 之前就已經提供了從 ObjectContext 呼叫 預儲程序 (Stored Procedure) 的能力,不過早期的 Entity Framework V2 版本支援度不夠,以致於只要是這個預儲程序的回傳值的型別不是 實體 (Entity) 的話,就會無法直接從 ObjectContext 進行叫用,這個架構上的問題直到 V4 這個版本才正式解決,以下就是從 Entity Framework 呼叫預儲程序的方法。

... 繼續閱讀 ...

使用中的 SQL Server 版本不支援資料型別 'datetime2'。

當初開始用 Entity Framework 的時候,第一個遇到的問題就是資料無法儲存變更,而錯誤訊息就是【使用中的 SQL Server 版本不支援資料型別 'datetime2'。】,我雖然知道 datetime2 是 SQL Server 2008 才出現的資料型態,不過我的資料庫明明就是 SQL Server 2005 而且在建立 Entity Framework 模型的時候也沒有指明我要用 SQL Server 2008 啊,為什麼還會報出這種錯誤呢?!底下就讓我娓娓道來。

... 繼續閱讀 ...

在 Entity Framework 設計工具中的自動版面配置技巧

利用 Visual Studio 2010 的 Entity Framework 設計工具從資料庫產生模型後通常會先自動排版,不過每一個產生的模型(Entity)預設寬度都是固定的,導致一些表格名稱太長的項目都顯示不完整 (如下圖示),而 Entity Framework 設計工具似乎還沒有聰明到可以依照我的意思自動排版,但我今天研究出一個新方法可以幫我解決此問題。

... 繼續閱讀 ...

解決 N-Tier 多層架構設計下 LINQ to SQL 效能不彰的問題

ASP.NET MVC 的開發原則有個 SoC (Separation of Concern) 的觀念,我們在開發較大型的 ASP.NET MVC 應用程式時會特別將資料存取層(Data Access Layer) 再細分為兩個層次,分別是 Repository Layer (資料倉儲層) 負責資料存取與欄位格式驗證,與 Service Layer (服務提供層) 負責資料篩選與商業邏輯驗證,但分層之後遇到了一個之前沒想過的問題,進而導致 LINQ to SQL 查詢效能不彰。

... 繼續閱讀 ...

Entity Framework 快速上手與學習資源整理

Entity Framework 的中文學習資源的確蠻少的,也許這門技術還太新,所以真的很少人在用,因此要學會 Entity Framework 也可能需要花不少精神,我個人對 Entity Framework 還還算新手上路的階段而已,學習的過程中也發現了一些快速上手的訣竅,也許可以讓新手不要那麼恐懼新技術。

... 繼續閱讀 ...