gpt4 book ai didi

c# - Entity Framework 6 mysql rowversion

转载 作者:可可西里 更新时间:2023-11-01 06:33:34 26 4
gpt4 key购买 nike

我在我的 sql 中使用 Entity Framework 6,似乎 mysql 不支持行版本字节数组。任何帮助如何实现这一目标。

[Column(TypeName = "timestamp")]
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime TimeStamp { get; set; }

最佳答案

首先,如果您使用的是自动迁移,我认为属性属性不足以创建正确的字段类型。
这里https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html EF 提供程序应该生成一些语法来创建自动生成/更新的时间戳。

创建正确的字段类型后,您可以尝试 2 次:

-将字段标记为时间戳

[Timestamp]
public DateTime TimeStamp { get; set; }

我不认为 EF 需要时间戳字段是 byte[]。时间戳应该只意味着这是数据库生成的字段并且乐观并发使用该字段(即更新查询包含要更新的记录键上的位置和该字段)。但往往 EF 并没有像我想的那样工作......

-将字段标记为由数据库生成,并作为用于检查乐观并发异常的字段

[ConcurrencyCheck]
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime TimeStamp { get; set; }

关于c# - Entity Framework 6 mysql rowversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113023/

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