The code below uses a single generic parameter.
Is there a way to take multiple generic variables, where I want 2 or more classes? (eg, T1 class, T2 class, etc.)
Original generic:
public interface IGenericRepository<T> where T : class 
{
    IQueryable<T> GetAll();
    IQueryable<T> FindBy(Expression<Func<T, bool>> predicate);
    void Add(T entity);
    void Delete(T entity);
    void Edit(T entity);
    void Save();
}
 
     
    