Jen

Entity Framework 學習筆記(一)

 

最近開始逛一些Entity Framework(EF)的教學網站及閱讀一些文件,ORM的技術雖然在OO開發上非常有彈性,但是效能方面就需要做一些取捨,不過我也是剛碰Entity Framework,還沒在專案上使用過,打算下個官網型專案就開始使用MVC 2.0 + .Net 4.0 以及把Linq to SQL改換上Entity Framework來架構。

Linq To SQL一換成EF,我原本架構Model層的程式寫法勢必要做大幅度的修改。

由EF所建立的類別都繼承ObjectContext,而由Linq To Sql建立的類別則是實作2個介面,INotifyPropertyChangingINotifyPropertyChanged,所以EF 建立的 partial class不能繼承你自已定義的類別。

可以先建立Model,再透過Model產生SQL DDL,這種開發方式稱為「Model First Way」。

EF建立的Model目前沒有支援Default Value,也沒有類似Linq to SQL的OnCreate方法,可以給予預設值,必須手動去設定。
當欄位有預設值的設定方式

EF是個很好用的框架,但魚與熊爪不會常常兼得,效能方面可能需要多多考量。也沒有說EF的效能一定差,有時候就是看天時地利(設備環境)、人和(開發人員夠強力),還是能利用EF建構出一個效能表現極優的中大型網站。有些評論文章可以參考看看。

 

對Entity Framework Performance 抱怨以及建議
Performance Considerations when using TPT (Table per Type) Inheritance in the Entity Framework (這篇有點嚇到我了)
完全沒碰過ORM技術的同學可以參考The Will Will Web的文章


ADO.NET team blog
Entity Framework 概觀

0 意見: