Entity Framework 2 初步使用感覺
之前提到 .NET Framework 有 Side by Side process 的機制,所以小弟就很開心地把 DAL 也一併升級至 4.0
一併看看這次 Entity Framework ( 之後用 EF 簡寫 ) 有什麼改良的地方,升級完後馬上就會發現
edmx 和 相關的 code 都有被異動,使用了版本管控比對一次後,程式碼中新增了 FK 相關的物件 ( 這次的新功能之一 )
執行一下所有的「單元測試 ( 之後用 UT 簡寫 )」都正常後,當下就覺得即然有 FK 物件後是否 之前 有 Table 關聯的 Insert 和 update 的問題也可以再用 EF 重新處理,二話不說馬上把之前在 DAL 用 Enterprise library 寫的 SQL 語法全部都改寫成 EF
馬上再執行一次 改寫的 UT ,太好了都是 綠色的勾勾!不會再出現之前
為了驗證資料是不是如預期的 新增-->修改-->刪除 的方式去更新資料庫
執行 UT 的時候選 Debug mode 就可以設中斷點,同時也有 IntelliTrace 可以追蹤相關的程式碼
可以看到設中斷點後,右邊就會出現 EF 所執行的 SQL 語法!整個跟 2008 用 EF 比起來方便太多了!
一邊 Debug 一邊查 SQL 2008 中的資料變化的確都是正確的。
這樣子一來 DAL 的部分就會相當地省功夫啦!!
改寫成 EF 後, 程式碼約少寫了一半以上。
不過小弟覺得還是不要因為 EF 而忽略了 SQL 語法的基本功!
------------- 2009/12/15 ------------------------------------------
經過一整個下午的UT驗證和程式改寫後發現
FK 的部分還是要先建立好同一個物件關聯後才能進行指定
而 UT 是因為沒有指定 FK 的值時就成功寫入,而另外一個 UT 有做檢查 所以這個地方又破功了 Orz
因為小弟不喜歡連寫入 FK 資料都還要抓物件出來,所以又先再改回去了!
介時再找找看別的替代方案!