我有这个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
};
}
虽然存在问题。我正在尝试创建任务。当我将链接文本设置为常量字符串(如“Hello”)时,一切都正常。但是在上面,我试图使用发票属性构建linktext属性。
我收到以下错误:
base {System.SystemException} = {"LINQ to Entities不识别方法“System.String Format(System.String, System.Object, System.Object)”方法,而此方法无法转换为存储表达式。"}
有人知道为什么吗?有没有其他方法可以让它工作?