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
};
}
Mais il y a des problèmes. J'essaie de créer des tâches. Pour chaque nouvelle tâche, lorsque je fixe le texte du lien à une chaîne constante comme "Hello", tout va bien. Cependant, au-dessus, j'essaie de construire le texte du lien en utilisant les propriétés de la facture.
Je reçois 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-il pourquoi ? Quelqu'un connaît-il une autre façon de procéder pour que cela fonctionne ?
0 votes
Oui, j'ai manqué ça à l'origine.
0 votes
Duplicata possible de LINQ to Entities ne reconnaît pas la méthode 'System.String ToString()'.