Нужно вернуть пустой IEnumerable?
public IEnumerable<T> GetEnumerator(){
yield break;
}
Точность и диапазон (так что все важно ;-p)
Из MSDN:
Тип значения DateTime представляет дату и время со значениями в диапазоне от 12:00:00 полночь, 1 января 0001 г. с Anno Domini (наша эра) до 23:59:59, 31 декабря 9999 г. н.э.
Значения времени измеряются в 100-наносекундных единицах, называемых тактами, а конкретная дата - это число тиков с полуночи 12:00 1 января 0001 г. ) в календаре GregorianCalendar
Диапазон дат: с 1 января 1753 г. по 31 декабря 9999 г.
Точность: округлено до приращений 0,000, 0,003 или 0,007 секунды
Вы также можете использовать datetime2 в SQL Server 2008. Точность 100нс тоже. Фактически, он был введен для соответствия точности .NET DateTime.
Да.
Эквивалент типа даты и времени SQL в C # - SqlDateTime
Итак, определите Вызов SQL (конечно, хранимые процессы со сбором параметров) для использования SQLDateTime. Преимущество состоит в том, что вы можете отловить любую ошибку переполнения или выхода за пределы допустимого диапазона, создав команду, а не во время выполнения из механизма базы данных.