私はこの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」のような定数文字列に設定すると、新しいタスクごとに問題ありません。ただし、上記では、請求書のプロパティを使用してプロパティリンクテキストを作成しようとしています。
このエラーが発生します:
base {System.SystemException} = {"LINQ toEntitiesはメソッド 'System.String Format(System.String、System.Object、System.Object)'メソッドを認識せず、このメソッドをストア式に変換できません。" }
誰もが理由を知っていますか?誰かがそれを機能させるためにこれを行う別の方法を知っていますか?