开发者

Problem with Timestamp using .Net entity framework and Devart dotConnect for MySQL

I have the following table in my MySQL database :

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

)

In my Visual Studio 2010-edmx the field Timestamp has the following atrributes:

StoreGeneratedPattern: Computed

Type: DateTime

On inserting a new record into the table I get the following exception:

Devart.Data.MySql.MySqlException: Incorrect datetime value: '0001-01-01 00:00:00' for column 'Timestamp' at row 1.

I need the Timestamp-field to handle concurrency issues.

Version of Devart.Data.MySql.Entity开发者_运维问答 is 6.0.86.0. Im am using Visual Studio 2010 and .Net Runtime 3.5 Sp1.

Help is appreciated.


Maybe you should IGNORE update this DateTime field by EntityFramework. Just let database handle its value update automatically.

It seems EntityFramework give a default value to DateTime field which is "0001-01-01 00:00:00", it's the default behavior of .NET.

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

Use above annotation will tell EF to ignore the CreateDate when make changes to the entity.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜