Chain LINQ expressions for filtering
You have such properties as ExerciseFilter and DateFilter that I guess return respecitively the ExerciseId and (EndDate - StartDate).TotalMinutes or something similar. Thus, I find it would be much easier to understand your filter class if you renamed the ExerciseFilter to ExerciseId and replaced both properties with CanApplyExerciseFilter and CanApplyDateFilter. This would result in a much cleaner code:

if (model.CanApplyExerciseFilter &amp;&amp; !model.CanApplyDateFilter)
{
    baseFilter = baseFilter.AndAlso(exerciseFilter);
}

if (!model.CanApplyExerciseFilter &amp;&amp; model.CanApplyDateFilter)
{
    baseFilter = baseFilter.AndAlso(timeSpanFilter);
}

if (model.CanApplyExerciseFilter &amp;&amp; model.CanApplyDateFilter)
{
    baseFilter = baseFilter.AndAlso(timeSpanFilter).AndAlso(exerciseFilter);
}


which would finally lead us to just two lines of code here:

baseFilter = 
    baseFilter
        .AndAlso(model.CanApplyExerciseFilter ? exerciseFilter : x =&gt; true)
        .AndAlso(model.CanApplyDateFilter ? timeSpanFilter : x =&gt; true);