LINQ to Entities no reconoce el método 'Int32 Parse (System.String)', y este método no se puede traducir a una expresión de tienda

Estoy usando Entity Framework, y tengo una línea de código que toma un var y lo traduce de nuevo a un iint para la base de datos.

var record = context.enrollments.SingleOrDefault
  (row => row.userId == int.Parse(UserID) && row.classId == int.Parse(ClassID));

Cada vez que intento ejecutarlo recibo este error. "LINQ to Entities no reconoce el método 'Int32 Parse (System.String)', y este método no se puede traducir a una expresión de tienda".

He intentado esto también

 var record = context.enrollments.FirstOrDefault
  (row => row.userId == Convert.ToInt32(UserID) 
  && row.classId == Convert.ToInt32(ClassID));

y todo lo que recibo es este mensaje de error, "LINQ to Entities no reconoce el método 'Int32 ToInt32 (System.String)', y este método no se puede traducir a una expresión de tienda

y finalmente lo he intentado también, lo que sé que es inusual, pero ha funcionado en el pasado para situaciones similares.

var record = context.enrollments.SingleOrDefault
  (row => row.userId == CommonDLL.Sanitize<int>.ConvertType(UserID) 
  && row.classId == CommonDLL.Sanitize<int>.ConvertType(ClassID));

En el que me sale este error. Como puede ver, he intentado varias cosas diferentes y nada funciona, por lo que cualquier ayuda sería genial.

Respuestas a la pregunta(2)

Su respuesta a la pregunta