我想知道在存儲庫基類中使用實體框架代碼第一個ctp 5 IDbSet是否有意義。我正在使用存儲庫模式(並希望遵循持久性無知方法)爲我的實現,我想使用假數據進行測試(通過使用內存IDBset實現中的假)。使用RepositoryBase類中的IDbSet的實體框架代碼第一個ctp 5
我覺得添加一個依賴到 System.Data.Entity.IDbSet會將我的存儲庫基類的實現綁定到IDBset,並且如果將來有任何更改可能會破壞代碼。實現沒有Idbset依賴關係的存儲庫基類的最佳方式是什麼?
我關注此文章:EF CTP4 Tips & Tricks: Testing With Fake DbContext實施假貨。
//_dbset impliments the IDBset
//Database inherits from DbContext
protected RepositoryBase(UnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
_dbset = _unitOfWork.Database.Set<T>();
}
public virtual void Add(T entity)
{
_dbset.Add(entity);
}
public virtual void Delete(T entity)
{
_dbset.Remove(entity);
}
public virtual T GetById(long id)
{
return _dbset.Find(id);
}
public virtual IEnumerable<T> All()
{
return _dbset.ToList();
}
+1的鏈接,「測試用假的DbContext」。正是我在找什麼! – 2011-05-04 21:02:07