Eu tenho esta consulta 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
};
}
Porém, tem problemas. Estou tentando criar tarefas. Para cada nova tarefa, quando eu definir o texto do link para uma string constante como "Olá", tudo bem. No entanto, acima estou tentando construir o linktext de propriedade usando propriedades da fatura.
Eu recebo este erro:
base {System.SystemException} = {"LINQ to Entities não reconhece o método 'System.String Format (System.String, System.Object, System.Object)' e este método não pode ser convertido em uma expressão de armazenamento." }
Alguém sabe por quê? Alguém conhece uma forma alternativa de fazer isso para que funcione?