【发布时间】:2017-07-25 15:21:44
【问题描述】:
我正在使用 Web API + AbpOData + EF 并且需要计算从服务器上的数据库返回的对象的一些属性。
基本代码如下所示:
[AbpApiAuthorize(AppPermissions.OData_Permission_Consume)]
public class ActivityLogsController : AbpODataEntityController<ActivityLogs>
{
[EnableQuery(PageSize = 50000)]
public override IQueryable<ActivityLogs> Get()
{
var objectContext = new MyObjectContext(); //EF
return objectContext.ActivityLogs.GetAll();
}
}
我只是从数据库中返回值,一切都很好。
但是,我需要将两个日期时间值转换为本地时间。如下所示
[AbpApiAuthorize(AppPermissions.OData_Permission_Consume)]
public class ActivityLogsController : AbpODataEntityController<ActivityLogs>
{
[EnableQuery(PageSize = 50000)]
public override IQueryable<ActivityLogs> Get()
{
var objectContext = new MyObjectContext(); //EF
return objectContext.ActivityLogs.Select(d => new ActivityLogs()
{
Id = d.ID,
Activity = d.Activity,
StartTime = d.StartTime.Value.AddHours(5),
EndTime = d.EndTime.Value.AddHours(5),
Duration = d.Duration
});
}
}
我遇到错误
无法在 LINQ to Entities 查询中构造实体或复杂类型“ActivityLogs”。
我如何使用 abp odata 框架(.net 零)来实现这一点。请记住,我们需要返回从 EF 调用返回的相同 IQueryable。
【问题讨论】:
标签: c# entity-framework odata aspnetboilerplate asp.net-boilerplate