最近有同事遇到一個技術問題,他們的專案是採用 Entity Framework 技術,不過由於客戶端需求變更,導致資料庫欄位屬性被變更了,原本為 NOT NULL 的欄位從資料庫端已經改成了可允許 NULL,不過他們在 Visual Studio 2010 的 ADO.NET 實體資料模型設計工具 (ADO.NET Entity Data Model) 編輯 EDMX 檔案時發現執行 從資料庫更新模型 (Update Model from Database) 並不會自動反應資料庫的欄位變更到這裡,但是新增、刪除資料庫欄位時卻會更新,他們覺得很奇怪,以下就是我的回答。
... 繼續閱讀 ...
其實早在 Entity Framework 4.0 之前就已經提供了從 ObjectContext 呼叫 預儲程序 (Stored Procedure) 的能力,不過早期的 Entity Framework V2 版本支援度不夠,以致於只要是這個預儲程序的回傳值的型別不是 實體 (Entity) 的話,就會無法直接從 ObjectContext 進行叫用,這個架構上的問題直到 V4 這個版本才正式解決,以下就是從 Entity Framework 呼叫預儲程序的方法。
... 繼續閱讀 ...