LINQ to Entities does not recognize the method 'Int32 Parse(System.String)' method, and this method cannot be translated into a store expression
in Linq to Entity
, you should use the methods in your query
which is supported by your provider
to convert them to expression tree
to run on your Data Base
side.
all providers must support some methods by default called Canonical Functions
(Read More Here), and also you can define your user defined function
and stored procedure
as edm functions
to use in linq query
(Read More Here) and (Here).
in addition you can use methods which is supported by providers and can be converted to expression tree
which are in EntityFunctions and SqlFunctions.
and finally about your question, you can convert UserID
and ClassID
before your query, like this:
var UID = int.Parse(UserID);
var CID = int.Parse(ClassID);
var record = context.enrollments.SingleOrDefault
(row => row.userId == UID && row.classId == CID);