Dado el siguiente código¿Cómo formatear una cadena en una expresión linq?
IQueryable<string> customers =
from Customers in db.Customers
where Customers.CstCompanyName.Contains(prefixText) && Customers.CstInactive == false
select Customers.CstCompanyName + " (Phone: " + Convert.ToInt64(Customers.CstPhone).ToString("###-###-#### ####") + ")";
Ésta es una llamada a mi marco de la entidad. Estoy devolviendo un número de teléfono de la base de datos. Estoy tratando de formatearlo en la cadena de formato dada. Por desgracia, cuando corro esto, recibo el siguiente error:
LINQ to Entities does not recognize the method 'System.String ToString(System.String)' method, and this method cannot be translated into a store expression.
Así que mi pregunta es ¿Cómo puedo devolver este objeto base de datos como una cadena con formato?
Gracias!
¿Necesita que el resultado sea un 'IQueryable'? ¿No puedes obtener un 'IEnumerable' usando 'var customers = ...'? –
No. Haga que la base de datos maneje los datos; tener el código de presentación frente a la presentación. – AakashM
Al final, se devuelve como una cadena [], así que lo que sea que logre esto. Lo que estoy haciendo actualmente es string [] cst = customers.ToArray(); Así que no estoy muy seguro de si necesita ser IQueryable. – Kevin