数据的自定义函数从IQueryable中选择?

时间:2015-07-14 17:09:33

标签: c# linq entity-framework linq-to-entities

我有一个数据库我尝试通过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()

0 个答案:

没有答案