The Repository Pattern
These are the generic base interfaces needed for implementing a very basic repository pattern inside your C# projects.
IRepository<T1, in T2>) always contain objects that implement
T is the type of unique identifier). Usually,
T would be something like
Make absolutely sure that your implementation guarantees the uniqueness and immutability of every
The following are official (or officially tested) implementations: