Use SqlFunctions.DateName:
data.Where(o => SqlFunctions.DateName("year", o.SomeDateTime).Contains(searchParameter) ||
SqlFunctions.DateName("month", o.SomeDateTime).Contains(searchParameter) ||
SqlFunctions.DateName("weekday", o.SomeDateTime).Contains(searchParameter))
There may be a need to search for other data other than 'year' / 'month' / 'weekday', depending on what would searchParameter
look like.
See MSDN.