2013-04-18 51 views
0

我使用Repository和UnitOfWork模式來維護解耦代碼並實現測試我的應用程序的簡單方法。IRepository - 實體實現

內部實現首先使用EntityFramerowk和數據庫,所有工作正常。

明天,我可能需要使用其他一些具體的存儲庫實現,比如文件系統而不是數據庫,所以某些存儲庫方法(如查找或刪除)可能很難完成,因爲我的實體沒有實現任何關於主要預備鑰匙等。這意味着我對存儲庫的實體研究應該查找與T對象參數匹配的所有字段。

那麼,它是一個很好的做法強制我的實體的一些接口實現?例如:

是否有一些可用的示例或教程?

回答

0

某些存儲庫方法(如查找或刪除)可能很難完成,因爲我的實體沒有實現任何關於主鍵等等。這意味着我對存儲庫的實體研究應該查找與T對象參數匹配的所有字段。

這就是如何不實施存儲庫。存儲庫接口(合同)應該不瞭解底層實現細節,如實體框架。只有這樣,您才能擁有不同的存儲庫實現並實現關注。此外,使用存儲庫的測試代碼不應該涉及EF或db。