看起来没有任何内置函数可以使用基于此处文档的函数来获取星期几:
http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part2-url-conventions.html
我想要的是一个 Web Api 2.2 OData V4 实现,它可以为这样的 url 请求提供服务:
/meeting?$filter=dayofweek(StartDate) eq '星期三'
或类似的东西。但此刻,这似乎是一场白日梦。有人可以展示如何做到这一点吗?是否必须使用这样的东西来完成?
builder.EntityType<Meeting>().Collection
.Function("DayOfWeek")
.Returns<IEnumerable<Meeting>>();
然后
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.OData;
namespace Test.Controllers
{
public class MeetingsController : ODataController
{
private EntityContext db = new EntityContext();
[EnableQuery]
public IQueryable<Meeting> GetMeetings()
{
return db.Meetings;
}
[HttpGet]
public IHttpActionResult DayOfWeek(DateTime dayofweek)
{
//calculate day of week and return string
}
}
}