我有一个数据库我尝试通过Entity Framework进行查询,然后选择返回数据到集合输出对象中 - 同时使用IQueryable
来提高性能 - 然后将几个函数应用于结果从数据库查询返回的数据。首先,我无法在.ToLocalTime()
对象上使用DateTime
,因为它不受支持。我收到这个错误:
LINQ to Entities无法识别方法' System.DateTime ToLocalTime()'方法,这个方法无法翻译成一个 商店表达。
如果我尝试在返回的数据上调用其他自定义函数,我会得到类似的异常。
以下是我的代码:
IQueryable<DatabaseEntityType> query = context.MyEntities.Where(c=> c.Finished == true);
db.MyEntities.OrderByDescending(c => c.DateCreated).Select(c => new OutputObject()
{
Guid = c.Guid,
Notes = c.Notes,
DateCreated = c.DateCreated.ToLocalTime(),
Related = String.Join("<br/>", c.RelatedEntities.Select(c => c.TractNumber)),
Others = String.Join("<br/>", c.OtherRelatedEntities.Select(c => c.OwnerName)),
DocumentType = EnumUtility.GetDocumentTypeString(c.DocumentType),
Uploader = c.Account.FirstName + " " + c.Account.LastName,
});
在使用IQueryable
时有没有办法做到这一点?我有一个大型数据集需要在服务器上进行过滤而不使用.ToList()
。