У меня есть репозиторий, который проверяет наличие дублированных дат (в минуту) следующим образом:
public bool CheckIsDateTimeReceivedDuplicate(Guid userId, DateTime receivedDateTime)
{
const string query = @" SELECT EXISTS(SELECT 1
FROM public.allTheUserDates
WHERE date_trunc('minute', userSavedDateTimeColumn) = date_trunc('minute', TIMESTAMPTZ :receivedDateTime)
AND userId= :userId)";
return Connection.ExecuteScalar<bool>(query, new { userId, receivedDateTime});
}
Выполнение этого непосредственно как SQL возвращает ожидаемое значение bool, но во время выполнения кода оно выдает исключение, сообщающее об ошибке около $ 2 .... что совпадает со свойством receiveDateTime.
По сути, мне нужно определить, идентичны ли два сохраненных значения DateTime минуте. Я также попытался установить Datetime в виде строки в формате ISO8601. Та же проблема. Наконец, я также попытался заключить в параметризованную строку:
date_trunc('minute', TIMESTAMPTZ ':receivedDateTime')
Все еще не повезло! Postgres Журналы бесполезны, так как говорят одно и то же сообщение и не показывают фактический запрос.
Буду признателен за любой совет, спасибо:)