LINQ to Entities无法识别方法' System.String ToString(System.String)

时间:2017-03-17 11:53:31

标签: c# entity-framework linq

....linq code
select new OrderList
{
Requestor = f.Name,
Amount = b.TotalInclAmount,
DateOrder =  b.DateOrder.ToString("dd/MM/yyyy HH:mm:ss"); // This line cause this issue
} 

当我执行上述查询时,我得到以下异常。

  

LINQ to Entities无法识别方法' System.String   的ToString(System.String)'方法,这个方法无法翻译   进入商店表达。

当我在StackOverflow中搜索这个问题时,大多数答案建议使用 AsEnumerable 但在我的情况下,表格要大得多。当我使用它时,它会导致性能问题。

建议我在没有AsEnumerable的情况下使用它。

1 个答案:

答案 0 :(得分:2)

您应该在UI中进行演示,而不是在业务层中进行演示。因此,将其保留为DateTime并让UI格式化它。它会尝试将ToString解释为查询,但不可用。

您仍然应该坚持使用IQueryable<T>并将日期作为日期时间,因为您可以在查询保持之前为查询添加条件。 (例如where上的DateOrder