How do I setup a ROWVERSION/TIMESTAMP datatype column using FluentMigrator?

.net, fluent-migrator, fluent-nhibernate, nhibernate, sql

Solution

Wow! How something can be so simple that I look right over the obvious...

.WithColumn("Version").AsCustom("rowversion").NotNullable();

Problem

I am trying to use the `ROWVERSION` (or `TIMESTAMP`) datatype on a SQL Server table for optimistic concurrency control. My table is setup using FluentMigrator and I do not know how to get the datatype I need. According to Microsoft's article on `ROWVERSION`, a nonnullable `ROWVERSION` column is semantically equivalent to a binary(8) column; the nullable `ROWVERSION` datatype is equivalent to a varbinary(8). Here is an example and as close as I can get... ``` 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();` is the line I can't figure out... There is no `.AsRowversion` or `.AsTimestamp` option. Thanks in advance!

Original source