Я пытаюсь сделать следующее:
using (var tx = sqlConnection.BeginTransaction())
{
var command = sqlConnection.CreateCommand();
command.Transaction = tx;
command.CommandText = "INSERT INTO TryDate([MyDate]) VALUES(@p0)";
var dateParam = command.CreateParameter();
dateParam.ParameterName = "@p0";
dateParam.DbType = DbType.Date;
dateParam.Value = DateTime.MinValue.Date;
command.Parameters.Add(dateParam);
command.ExecuteNonQuery();
tx.Commit();
}
где таблица имеет столбец Дата SQL Server 2008. Я могу вставить значение '01 / 01/0001 'в это через SQL Management Studio.
Если я запускаю вышеупомянутое в ExecuteNonQuery, я получаю «переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.12.9999 11:59:59 PM» исключение.
Почему это? Поле даты SQL Server действительно принимает 01/01/0001.