Ho questa query 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
};
}
Tuttavia ha dei problemi. Sto cercando di creare attività. Per ogni nuova attività, quando imposto il testo del collegamento su una stringa costante come "Hello", va bene. Tuttavia, sopra sto cercando di creare il linktext della proprietà utilizzando le proprietà della fattura.
Ottengo questo errore:
base {System.SystemException} = {"LINQ to Entities non riconosce il metodo" System.String Format (System.String, System.Object, System.Object) "e questo metodo non può essere tradotto in un'espressione di archivio." }
Qualcuno sa perché? Qualcuno conosce un modo alternativo di farlo per farlo funzionare?