2012-05-30 27 views
3

我正嘗試在SQL Server表上使用ROWVERSION(或TIMESTAMP)數據類型進行樂觀併發控制。如何使用FluentMigrator設置ROWVERSION/TIMESTAMP數據類型列?

我的表設置使用FluentMigrator,我不知道如何獲得我需要的數據類型。根據Microsoft's article on ROWVERSION不可空的ROWVERSION列在語義上等同於二進制(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選項。

在此先感謝!

+1

我不知道FluentMigrator,對不起。但是FluentNHibernate在ClassMap 中有一個方法Version(x => x.VersionProperty),它啓用NHibernate樂觀鎖定(該屬性可以是任何整數類型或DateTime)。 FluentMigrator中沒有類似的東西嗎? – rumpelstiefel

回答

10

哇!怎麼可以這麼簡單,以至於我看起來很明顯...

.WithColumn("Version").AsCustom("rowversion").NotNullable(); 
相關問題