You can using the SqlFunction.StringConvert() function. There is no overload for int, so you have to type cast
var test = dataContext.Table1
.Where(f => SqlFunctions.StringConvert((double) f.Id)
.Trim()
.StartsWith("824"))
.Select(f => SqlFunctions.StringConvert((double) f.Id)
.Trim())
.ToList();
This will be converted as
SELECT
LTRIM(RTRIM(STR( CAST( [Extent1].[Id] AS float)))) AS [C1]
FROM [dbo].[Table1] AS [Extent1]
WHERE (LTRIM(RTRIM(STR( CAST( [Extent1].[Id] AS float)))) LIKE N'4%')