public static ListRepository <TEntity, TContext> GetRepository <TEntity, TContext>(this SPList list, bool readOnly = true) where TEntity : EntityItem, new() where TContext : EntityDataContext { return(list.GetRepository <ListRepository <TEntity, TContext>, TEntity, TContext>(readOnly)); }