其實這個功能在 Entity Framework 中是有一點背道而馳的感覺。
不過就算是要做到像 POCO 這樣的全自動化 (無 SQL) 的資料存取元件,在一些特殊情況下,還是會動用到 SQL 指令來做一些事情,在 Entity Framework 1.0 中並沒有辦法這樣做,通常會以最傳統的 DbConnection 來連接資料庫後,才能使用 DbCommand 來存取資料庫,到了 .NET Framework 4.0,ADO.NET 團隊在 ObjectContext 中加入了三個方法,讓開發人員可以直接在 ObjectContext 上直接使用 SQL 指令來存取資料庫,並且神奇的是,它可以自動將資料填到指定的型別中。
這三個方法是:
· ObjectContext.ExecuteStoreCommand():執行非資料提取式的 SQL 指令 (即 INSERT, UPDATE 與 DELETE),並回傳受影響的資料列數。
· ObjectContext.ExecuteStoreQuery
· ObjectContext.Translate
而這三個方法可以讓開發人員在完全導入 Entity Framework ORM Solution 之前,可以有一個過渡的功能可利用,不用為了要做 ORM 而大幅改寫核心程式碼以融入 Entity Framework,並且提供對資料來源最直接的控制。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9417678/viewspace-666489/ ,如需转载,请注明出处,否则将追究法律责任。