I have the following query:
from a in Products
select new ProductVM
{
id = a.id,
modified = a.modified.ToString()
}
Which gives me an error of:
LINQ to Entities does not recognize the method 'System.String ToString()'
method, and this method cannot be translated into a store expression.
The modified
in the Products table is DateTime.
The modified
in the ProductVM class is string.
Any ideas? This has to be a trivial issue.
Here's an alternative:
.Select( p -> SqlFunctions.StringConvert((double)
SqlFunctions.DatePart("m", p.modified)).Trim() + "/" +
// SqlFunctions.DateName("mm", p.modified) + "/" + MS ERROR?
SqlFunctions.DateName("dd", p.modified) + "/" +
SqlFunctions.DateName("yyyy", p.modified)
Apparently DateName("MM", ..)
spells out the month name where DatePart("mm", ..)
provides a numeric value, thus the StringConvert( )
, but this left pads the result with spaces, thus the .Trim()
.