У меня есть столбец как это в 1 из моих таблиц базы данных
DateCreated, datetime, default(GetDate()), not null
Я пытаюсь использовать Платформу Объекта, чтобы сделать вставку на этой таблице как это...
PlaygroundEntities context = new PlaygroundEntities();
Person p = new Person
{
Status = PersonStatus.Alive,
BirthDate = new DateTime(1982,3,18),
Name = "Joe Smith"
};
context.AddToPeople(p);
context.SaveChanges();
Когда я выполняю этот код, я получаю следующую ошибку
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated.
Таким образом, я пытался установить StoreGeneratedPattern на вычисленный... то же самое, затем идентификационные данные... то же самое. Какие-либо идеи?
Изменение типа DateCreated на datetime2 может решить проблему.
datetime 2007-05-08 12: 35: 29.123
datetime2 2007-05-08 12:35:29. 12345
Ссылка: http://technet.microsoft.com/en-us/library/bb677335.aspx67
Вам нужно вручную отредактировать edmx xml и установить атрибуты SSDL StoreGeneratedPattern на identity или computed. Но при каждом обновлении edmx через дизайнер ваши изменения будут перезаписаны.
Это известная проблема. Пожалуйста, смотрите следующие ссылки для более подробной информации: