I have been assigned a new project and I have decided to give EF a go.In this project all I do is getting data there is no persistence.I have to implement some caching and that's it.
Reading about Repository patterns I have found tons of code samples etc... they seem all wrong to me.They implement a one to one Entity to Repository.
In my project I just need reading data not saving etc... just reading.I have 100s entities I cannot create 100s repository seems all wrong.
I have decided to start simple and I all need is this:
public interface IRepository : IDisposable
{
    IEnumerable<T> GetAll<T>() where T : class;
    IEnumerable<T> Find<T>(Expression<Func<T, bool>> predicate) where T : class;
    T GetOne<T>(Expression<Func<T, bool>> predicate) where T : class;
}
public class Repository : IRepository
{
    public IEnumerable<T> GetAll<T>() where T : class
    {
        return ???.ToArray();
    }
    public IEnumerable<T> Find<T>(Expression<Func<T, bool>> predicate) where T : class
    {
        return ???.Where(predicate).ToArray();
    }
    public T GetOne<T>(Expression<Func<T, bool>> predicate) where T : class
    {
        return ???.Where(predicate).FirstOrDefault();
    }
    public void Dispose()
    {
        throw new NotImplementedException();
    }
}
What I am struggling with is where i put the "???" that should be my IdbSet.
How could I Implement my concrete repository?Any suggestions or noddy test sample will do.
many thanks
 
    