gpt4 book ai didi

.net - 使用 .Net Entity Framework 和 Devart dotConnect for MySQL 的时间戳问题

转载 作者:行者123 更新时间:2023-11-30 23:39:29 27 4
gpt4 key购买 nike

我的 MySQL 数据库中有下表:


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

在我的 Visual Studio 2010-edmx 中,时间戳字段具有以下属性:


StoreGeneratedPattern: Computed<br/>
Type: DateTime

在向表中插入一条新记录时出现以下异常:

Devart.Data.MySql.MySqlException:日期时间值不正确:第 1 行的“时间戳”列为“0001-01-01 00:00:00”。

我需要时间戳字段来处理并发问题。

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

感谢您的帮助。

最佳答案

也许您应该忽略通过 EntityFramework 更新此 DateTime 字段。让数据库自动处理它的值更新。

似乎 EntityFramework 为 DateTime 字段提供了默认值“0001-01-01 00:00:00”,这是 .NET 的默认行为。

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

使用上面的注释将告诉 EF 在对实体进行更改时忽略 CreateDate。

关于.net - 使用 .Net Entity Framework 和 Devart dotConnect for MySQL 的时间戳问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4691857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com