DateTime.CompareTo(Date) сравнивает экземпляр из базы данных, и Date-данные которые пришли от клиента. Проблема в том, что Date от клиента не имеет миллисекунд. Тут получается, что нужно либо сравнивать без миллисекунд, либо как то отправлять клиенту POST запросом Дату с миллисекундами(что нежелательно).
Можно сравнить так:
if (Math.Abs((date1 - date2).TotalSeconds) < 1)
{
...
}
Или так:
public static DateTime TrimMilliseconds(this DateTime dt)
{
return new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, 0, dt.Kind);
}
if (date1.TrimMilliseconds().CompareTo(date2.TrimMilliseconds()) == 0)
{
...
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей