Как управлять GetDate () с Платформой Объекта

У меня есть столбец как это в 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 на вычисленный... то же самое, затем идентификационные данные... то же самое. Какие-либо идеи?

19
задан Rod Johnson 29 April 2010 в 20:28
поделиться

2 ответа

Изменение типа 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

2
ответ дан 30 November 2019 в 04:58
поделиться

Вам нужно вручную отредактировать edmx xml и установить атрибуты SSDL StoreGeneratedPattern на identity или computed. Но при каждом обновлении edmx через дизайнер ваши изменения будут перезаписаны.

Это известная проблема. Пожалуйста, смотрите следующие ссылки для более подробной информации:

Microsoft Connect Ticket

Using a GUID as an EntityKey in Entity Framework 4

9
ответ дан 30 November 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: