Code duplication where impliment extension method for IEnumerable and IQueryable on entity set
Given that the logic is exactly the same (i did not do a line by line comparision), one of the possible solutions whould be:

private static TCollection WhereCreateWithin&lt;T, TCollection&gt;(TCollection query,
             DateManager.TimeRange timeRange, 
             DateTime? beginDayParam,
             Func&lt;TCollection, Func&lt;T, bool&gt;, TCollection&gt; selector) 
    where T : IHasCreateDate
    where TCollection : IEnumerable&lt;T&gt;
{
    //insert your logic here
    //replace query.Where(x =&gt; ... ) call with selector(query, x =&gt; ... ) call
}

public static public static IQueryable&lt;T&gt; WhereCreateWithin&lt;T&gt;(this IQueryable&lt;T&gt; query, DateManager.TimeRange timeRange, DateTime? beginDayParam = null) where T : IHasCreateDate
{
    return WhereCreateWithin&lt;T, IQueryable&lt;T&gt;&gt;(query, timeRange, beginDayParam, (q, f) =&gt; q.Where(x =&gt; f(x)))
}


public static public static IEnumerable&lt;T&gt; WhereCreateWithin&lt;T&gt;(this IEnumerable&lt;T&gt; query, DateManager.TimeRange timeRange, DateTime? beginDayParam = null) where T : IHasCreateDate
{
    return WhereCreateWithin&lt;T, IEnumerable&lt;T&gt;&gt;(query, timeRange, beginDayParam, (q, f) =&gt; q.Where(f))
}