Generic repository implementation with EF
For a simple repository public interface ISimpleRepository<T> { IApplicationState AppState { get; set; } void Add(T instance); void Delete(T instance); void Delete(Guid rowGuid); IQueryable<T> GetAll(); T Load(Guid rowGuid); void SaveChanges(); void Update(T instance); } my implementation of the Load() method for specific repository for class Product might look like this: public Product Load(Guid rowid) { return (from c in _ctx.Products where c.id == rowid select c).FirstOrDefault(); } Now this is assumed when my repository implementation class looks like this: public class