2009-09-06 129 views
0

我正在開發一個程序,它允許用戶輸入一些信息,然後獲取存儲並動態創建一個基於它的圖像。擴展實體框架

我打算使用實體框架來處理數據,但顯然我需要一種方法來生成圖像。我的想法是,這樣做的「正確」方式是以某種方式擴展數據實體以包含像「CreateImage」這樣的函數調用,或者在EF中創建一個名爲「DataImage」的獨立類,該類將具有「生成「方法。

擴展EF似乎是「純粹」的方式來做到這一點,但我不知道如何或如果它比使用單獨的類更實用。

有關如何使用EF來做到這一點以及如何使用EF的最佳方式的想法?

回答

3

將此功能放在EF中將是對SRP的重大違反。隨着應用程序的增長,打破SRP會產生級聯負面影響。

您最可能想要採取的方法是一個完全獨立的封裝圖像生成服務,它接受您的EF實體實現的接口。這將您的映像服務從您的數據訪問完全分離出來;您可以立即獲得完整的可測試性和零依賴關係。

+0

感謝雷克斯, 我對EF很新,只是想知道接口是什麼實現的(我用這個工具從數據庫創建edmx)。如果你能指點我任何資源...... – 2009-09-06 17:12:43