Problem getting GUID string value in Linq-To-Entity query
-
21-09-2019 - |
Question
I am trying to write a GUID value to a string in a linq select. The code can be seen below (where c.ID is GUID), but I get the following error:
Unable to cast the type 'System.Guid' to type 'System.Object'. LINQ to Entities only supports casting Entity Data Model primitive types.
var media = (
from media in Current.Context.MediaSet
orderby media.CreatedDate
select new Item
{
Link = "~/Media.aspx?id=" + media.ID,
Text = "Media",
Time = media.CreatedDate
}
).ToList();
Solution
One way would be to break apart the query into L2E and L2O:
var q = from media in Current.Context.MediaSet
orderby media.CreatedDate
select new
{
Id = media.ID,
Time = media.CreatedTime
};
var media = (
from m in q.AsEnumerable()
select new Item
{
Link = "~/Media.aspx?id=" + q.Id.ToString,
Text = "Media",
Time = q.Time
}
).ToList();
OTHER TIPS
since my suggestion below doesn't work
look at this question and look at the answer, this might be the solution.
try this
var media = (
from media in Current.Context.MediaSet
orderby media.CreatedDate
select new Item
{
Link = "~/Media.aspx?id=" + media.ID.toString(),
Text = "Media",
Time = media.CreatedDate
}
).ToList();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow