我有這樣的現有代碼Repository模式與通用接口和DI在EF
public interface IRepository<T>
{
void Create(T obj);
T Retrieve(string key);
}
public class ItemRepository : IRepository<Item>
{
public void Create(Item obj)
{
//codes
}
public Item Retrieve(string key)
{
//codes
}
}
我想創建一個通用類的庫,在這裏我必須注入型IRepository來構造,然後用自己的實現的方法。我已經有一個現有的代碼,但它目前是錯誤的
public class Repository
{
IRepository<T> action = null;
public Repository(IRepository<T> concreteImplementation)
{
this.action = concreteImplementation;
}
public void Create(T obj)
{
action.Create(obj);
}
}
這些類來自EF。如果沒有這方面的解決方法,那麼最好的方法是什麼?
我正在練習基於這個 http://www.codeproject.com/Articles/615139/An-Absolute-Beginners-Tutorial-on-Dependency-Inver 但它似乎不適用於泛型。無論如何謝謝你的答案。創建單獨的存儲庫將爲我做 – Blues 2014-10-08 23:57:59