Problem with converting int to string in Linq to entities Problem with converting int to string in Linq to entities asp.net asp.net

Problem with converting int to string in Linq to entities


With EF v4 you can use SqlFunctions.StringConvert. There is no overload for int so you need to cast to a double or a decimal. Your code ends up looking like this:

var items = from c in contacts            select new ListItem            {                Value = SqlFunctions.StringConvert((double)c.ContactId).Trim(),                Text = c.Name            };


I solved a similar problem by placing the conversion of the integer to string out of the query. This can be achieved by putting the query into an object.

var items = from c in contacts            select new             {                Value = c.ContactId,                Text = c.Name            };var itemList = new SelectList();foreach (var item in items){    itemList.Add(new SelectListItem{ Value = item.ContactId, Text = item.Name });}


Use LinqToObject : contacts.AsEnumerable()

var items = from c in contacts.AsEnumerable()            select new ListItem            {                Value = c.ContactId.ToString(),                Text = c.Name            };