Entity Framework 實作後的想法 (2)

摘要:Entity Framework 實作後的想法 (2)

之前有提到在寫 entity framework 在 mapping table 上需要另外透過別的方式去 add , update , delete

基本的 Select 和 關聯式的 Select ( 像  Master / Detail )  基本上用 Linq 就可以搞定了

但,若是要用到稍微複雜一點  ( 像  Left join )  查詢的話

用 LINQ 真的很不直覺 ( 指針對這個情況時) ,而且 DefaultByEmpty 這個還只有支援 LINQ to SQL 

本想說透過 sp 的方式,掛載到 edmx 

但回傳的是 ObjectResult ,再搭配 LINQ  總是遇到一些問題 ( 下次再找個時間針對這個好好地研究 )

最後不得已  ( 已拖了 2 週了 )   所以只好透過 Enterprise library 把資料取出來 

( 還不是因為 MSDN 上面寫的方法是針對 Beta 版的,現在用 VSTS 2008 SP1 的工具設一設就搞定了  害我還真的一個一個去看 edmx 的XML  )

但這樣子就會失去 EF 帶來的好處,用起來很不爽   ( 以後有空再想辦法改寫 )

再把 Unit Test 補上去 ok !每一個動作都如預期!

 

個人認為, EF、Linq to SQL、Linq to eSQL 這一類的東西,並沒有辦法真的完全不需要用到 SQL 語法

而且,對資料庫和 SQL 語法不熟悉的話,對開發人員也是非常不好的

千萬別想說什麼東西都可以用「程式」來解決

SQL 語法可以一次搞定就用 SQL 語法吧!! ( 若是對 SQL 語法想要更進階的話,請多注意楊志強老師的課程or 書,講得很生動又實用 )

而且, LINQ to EF 的語法來做很複雜的語法,以目前來說不太建議。 ( 門檻高  ,又要去驗證轉出來的語法是不是對的 )

 

我想一定有更好的解決方法的