У меня есть функция OData называется GetForPeriod определяется как:Как передать параметры DateTimeOffset к функциям OData
var getForPeriod =
builder.EntityType<EventModel>()
.Collection
.Function("GetForPeriod")
.ReturnsCollection<EventModelSummary>();
getForPeriod.Parameter<DateTimeOffset>("from");
getForPeriod.Parameter<DateTimeOffset>("to");
Таким образом, чтобы получить результаты от функции, мне нужно позвонить:
http://localhost:17257/odata/Events/Default.GetForPeriod(from=2015-12-27T00:00:00-06:00,to=2016-02-06T00:00:00-06:00)
Но я продолжаю получать сообщение об ошибке:
Потенциально опасный объект Request.Path был обнаружено у клиента (:).
Проблема заключается в том, что даты, как если бы я http://localhost:17257/odata/Events/Default.GetForPeriod(from=null,to=null)
Я получаю ошибку о том, что он не может преобразовать нуль в DateTimeOffset (который имеет смысл).
Я попытался заменить двоеточие (:) в пределах от и два значения до % 3A, но я все равно получаю ту же ошибку опасного пути.
Довольно интересно, если я вызываю путь чтения событий с фильтром даты, он отлично работает. http://localhost:17257/odata/Events?$filter=ScheduledDate%20ge%202015-12-27T00:00:00-06:00%20and%20ScheduledDate%20le%202016-02-06T00:00:00-06:00
Как я могу назвать функцию OData, которая принимает смещение datetime для параметра?
идеально, благодаря – sheamus