LINQ to Entities не распознает метод 'System.String Format(System.String, System.Object, System.Object)'

У меня есть этот запрос 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
                   };
}

Однако у него есть проблемы. Я пытаюсь создавать задачи. Для каждой новой задачи, когда я устанавливаю текст ссылки в постоянную строку, например «Привет», все в порядке. Однако выше я пытаюсь создать текст ссылки свойства, используя свойства счета-фактуры.

Я получаю эту ошибку:

base {System.SystemException} = {"LINQ to Entities не распознает метод "Формат System.String (System.String, System.Object, System.Object )" метод, и этот метод нельзя преобразовать в выражение хранилища."}

Кто-нибудь знает, почему? Кто-нибудь знает альтернативный способ сделать это, чтобы заставить его работать?

79
задан cramopy 2 June 2015 в 10:29
поделиться