2011-01-14 2 views
1

У меня есть следующая таблица в моей базе данных MySQL:Проблемы с Отметкой использования фреймворки сущностей .Net и DevArt dotConnect для MySQL

CREATE TABLE IF NOT EXISTS Benutzer (
Id INTEGER PRIMARY KEY AUTO_INCREMENT,
Login VARCHAR(20) NOT NULL,
Nachname VARCHAR(50) NOT NULL,
Vorname VARCHAR(50) NOT NULL,
Timestamp TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
)

В моем Visual Studio 2010-EDMX поля Отметка имеет следующие atrributes:

StoreGeneratedPattern: Computed
Type: DateTime

на вставке новой записи в таблицу я получаю следующее исключение:

Devart.Data.MySql.MySqlException: Неправильное значение даты и времени: '0001-01-01 00:00:00' для столбца 'Timestamp' в строке 1.

мне нужна Timestamp-поле для обработки проблем параллелизма.

Версия Devart.Data.MySql.Entity - 6.0.86.0. Я использую Visual Studio 2010 и .Net Runtime 3.5 Sp1.

Справка приветствуется.

+0

размещать сгенерированного MySQL Query –

+0

вставки в anlaufmanagement.benutzer (Логин, Nachname, Vorname, 'Timestamp') значения ('ххх', 'фамилия', 'Имя',«0001-01-01 00:00: 00 ') ; выберите Id from anlaufmanagement.benutzer где Id = last_insert_id() – shepard1

+0

Проблема заключается в том, что mysql не может обрабатывать 0001-01-01 00:00:00 в качестве метки времени. – shepard1

ответ

0

Возможно, вы должны IGNORE обновить это поле DateTime по EntityFramework. Просто позвольте базе данных обрабатывать значение автоматически.

Кажется, EntityFramework дает значение по умолчанию для поля DateTime, которое является «0001-01-01 00:00:00», это поведение по умолчанию .NET.

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
    public DateTimeOffset CreateDate { get; set; } 

Использование над аннотацией говорит EF игнорировать CreateDate при внесении изменений в объект.

 Смежные вопросы

  • Нет связанных вопросов^_^