我试图在SQL Server表上使用ROWVERSION
(或TIMESTAMP
)数据类型进行乐观并发控制。
我的表是使用FluentMigrator设置的,我不知道如何获取所需的数据类型。根据Microsoft's article on ROWVERSION
,不可空ROWVERSION
列在语义上等效于 binary(8)列; 可为空的ROWVERSION
数据类型等效于 varbinary(8)。
这是一个例子,我尽力而为。。。
public override void Up()
{
Create.Table("Test")
.WithColumn("Id").AsInt32().Identity().PrimaryKey()
.WithColumn("Description").AsAnsiString(255)
.WithColumn("RowVersion").AsBinary(8).NotNullable();
}
.WithColumn("RowVersion").AsBinary(8).NotNullable();
是我不知道的那一行...没有 .AsRowversion
或 .AsTimestamp
选项。提前致谢!
最佳答案
哇!事情是如此简单,以至于我直视显而易见的事物……
.WithColumn("Version").AsCustom("rowversion").NotNullable();