Tengo esta consulta de linq:
private void GetReceivedInvoiceTasks(User user, List<Task> tasks)
{
var areaIds = user.Areas.Select(x => x.AreaId).ToArray();
var taskList = from i in _db.Invoices
join a in _db.Areas on i.AreaId equals a.AreaId
where i.Status == InvoiceStatuses.Received && areaIds.Contains(a.AreaId)
select new Task {
LinkText = string.Format(Invoice {0} has been received from {1}, i.InvoiceNumber, i.Organisation.Name),
Link = Views.Edit
};
}
Sin embargo, tiene problemas. Estoy intentando crear tareas. Para cada nueva tarea, cuando establezco el texto del enlace en una cadena constante como "Hola", está bien. Sin embargo, arriba estoy tratando de construir el linktext de la propiedad usando las propiedades de la factura.
Me sale este error:
base {System.SystemException} = {"LINQ to Entities no reconoce el método 'System.String Format (System.String, System.Object, System.Object)', y este método no se puede traducir a una expresión de tienda". }
¿Alguien sabe por qué? ¿Alguien conoce una forma alternativa de hacer esto para que funcione?