....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的情况下使用它。
答案 0 :(得分:2)
您应该在UI中进行演示,而不是在业务层中进行演示。因此,将其保留为DateTime并让UI格式化它。它会尝试将ToString
解释为查询,但不可用。
您仍然应该坚持使用IQueryable<T>
并将日期作为日期时间,因为您可以在查询保持之前为查询添加条件。 (例如where
上的DateOrder
)