Не похоже, что есть какая-либо встроенная функция для получения дня недели с использованием функции, основанной на документации здесь:
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
}
}
}