2011-01-14 64 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'列1'行'的時間戳。

我需要Timestamp字段來處理併發問題。

Devart.Data.MySql.Entity的版本是6.0.86.0。 我正在使用Visual Studio 2010和.Net Runtime 3.5 Sp1。

幫助表示讚賞。

+0

發佈生成的mysql查詢 – 2011-01-14 14:05:54

回答

0

也許你應該IGNORE通過EntityFramework更新這個DateTime字段。 讓數據庫自動處理其值更新。

看來EntityFramework給DateTime字段的默認值是「0001-01-01 00:00:00」,這是.NET的默認行爲。

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

使用上面的註解會告訴EF在對實體進行更改時忽略CreateDate。