Вы можете определить этот метод в интерфейсе репозитория:
interface IRepository<TEntity, TId> where TEntity : class {
TEntity FindById(TId id);
...
}
И следующее в реализации репозитория:
class Repository<TEntity, TId> : IRepository<TEntity, TId> where TEntity : class{
public TEntity FindById(TId id) {
return _session.Get<TEntity>(id);
}
}
В качестве примечания, общий репозиторий интерфейс иногда считается плохой практикой с точки зрения доменного дизайна.