标签: c# sql-server entity-framework ef-core-2.0
在Entity Framework中使用时间戳列时,它由SQL Server中的some_event..列类型支持,并表示为CLR的rowversion(根据docs)。该列的长度为8个字节。
some_event..
rowversion
为什么他们决定使用byte[]而不是byte[]?它将保持该值就好。使用byte []是否有任何明显的好处,还是仅将EF与其他DB引擎一起使用,EF可以在内部将类似rowversion的列实现为不同的数据类型。
byte[]
答案 0 :(得分:4)
rowversion / timestamp字段的用途是每次更新时,它都是一个新的唯一值。在某些实现中,它是一个“时间戳”是不相关的。
根据this page,对于MS-SQL,它是一个递增的数字,根据this page,对于MySql,它是一个时间戳。
因此,“字节”数组是最有意义的兼容性选择。