J'ai cette requête 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
};
}
Il a cependant des problèmes. J'essaye de créer des tâches. Pour chaque nouvelle tâche, lorsque je règle le texte du lien sur une chaîne constante comme "Bonjour", tout va bien. Cependant ci-dessus, j'essaie de créer le lien de propriété en utilisant les propriétés de la facture.
J'obtiens cette erreur:
base {System.SystemException} = {"LINQ to Entities ne reconnaît pas la méthode 'System.String Format (System.String, System.Object, System.Object)', et cette méthode ne peut pas être traduite en une expression de magasin." }
Quelqu'un sait pourquoi? Quelqu'un connaît-il une autre façon de faire cela pour que cela fonctionne?