से मैं भंडार पैटर्न, बहुत ही सरल और सहज ज्ञान युक्त के कुछ कार्यान्वयन देखा है, stackoverflow में यहाँ लिंक किए गए फ़ॉर्म अन्य उत्तरभंडार पैटर्न और इकाई परीक्षण स्मृति
http://www.codeproject.com/Tips/309753/Repository-Pattern-with-Entity-Framework-4-1-and-C http://www.remondo.net/repository-pattern-example-csharp/
public interface IRepository<T>
{
void Insert(T entity);
void Delete(T entity);
IQueryable<T> SearchFor(Expression<Func<T, bool>> predicate);
IQueryable<T> GetAll();
T GetById(int id);
}
public class Repository<T> : IRepository<T> where T : class, IEntity
{
protected Table<T> DataTable;
public Repository(DataContext dataContext)
{
DataTable = dataContext.GetTable<T>();
}
...
मैं कैसे निर्धारित कर सकते हैं इकाई परीक्षण करते समय स्मृति से काम करने के लिए? क्या स्मृति में किसी भी चीज़ से डेटाकॉन्टेक्स्ट या लिंक टेबल बनाने का कोई तरीका है? मेरा विचार संग्रह (सूची, शब्दकोश ...) बनाना था और यूनिट परीक्षण करते समय इसे दबाएं।
धन्यवाद!
संपादित करें: क्या मैं कुछ इस तरह की जरूरत है:
- मैं
- मैं एक वर्ग पुस्तकालय है एक वर्ग बुक है
Library
निर्माता में, मैं भंडार प्रारंभ:var bookRepository = new Repository<Book>(dataContext)
और
Library
तरीकों जब परीक्षण यहpublic Book GetByID(int bookID) { return bookRepository.GetByID(bookID) }
की तरह, भंडार का उपयोग करें, मैं एक स्मृति संदर्भ प्रदान करना चाहते हैं। जब उत्पादन में, मैं एक वास्तविक डेटाबेस संदर्भ प्रदान करेगा।
मैं कुछ नमूना कोड आपके अनुरोध के बाद जोड़ा । –