@@ -17,18 +17,26 @@ public class ModelWithRowVersion
17
17
public ulong RowVersion { get ; set ; }
18
18
}
19
19
20
- public class RowVersionTests : OrmLiteTestBase
20
+ public class ModelWithRowVersionAlias
21
21
{
22
- public RowVersionTests ( )
23
- {
24
- //Dialect = Dialect.Sqlite;
25
- }
22
+ [ AutoIncrement ]
23
+ public long Id { get ; set ; }
24
+
25
+ public string Text { get ; set ; }
26
+
27
+ [ Alias ( "VersionAlias" ) ]
28
+ public ulong RowVersion { get ; set ; }
29
+ }
26
30
31
+ public class RowVersionTests : OrmLiteTestBase
32
+ {
27
33
private IDbConnection db ;
28
34
29
35
[ TestFixtureSetUp ]
30
36
public void FixtureSetUp ( )
31
37
{
38
+ //Dialect = Dialect.SqlServer;
39
+ LogManager . LogFactory = new ConsoleLogFactory ( debugEnabled : true ) ;
32
40
using ( var dbConn = OpenDbConnection ( ) )
33
41
{
34
42
dbConn . DropAndCreateTable < ModelWithRowVersion > ( ) ;
@@ -76,6 +84,35 @@ public void Can_create_table_with_RowVersion()
76
84
db . Update ( updatedRow ) ;
77
85
}
78
86
87
+ [ Test ]
88
+ public void Can_create_table_with_RowVersion_Alias ( )
89
+ {
90
+ db . DropAndCreateTable < ModelWithRowVersionAlias > ( ) ;
91
+
92
+ db . Insert ( new ModelWithRowVersionAlias { Text = "Text" } ) ;
93
+
94
+ var row = db . SingleById < ModelWithRowVersionAlias > ( 1 ) ;
95
+
96
+ row . Text += " Updated" ;
97
+
98
+ db . Update ( row ) ;
99
+
100
+ var updatedRow = db . SingleById < ModelWithRowVersionAlias > ( 1 ) ;
101
+
102
+ Assert . That ( updatedRow . Text , Is . EqualTo ( "Text Updated" ) ) ;
103
+ Assert . That ( updatedRow . RowVersion , Is . GreaterThan ( 0 ) ) ;
104
+
105
+ row . Text += " Again" ;
106
+
107
+ //Can't update old record
108
+ Assert . Throws < RowModifiedException > ( ( ) =>
109
+ db . Update ( row ) ) ;
110
+
111
+ //Can update latest version
112
+ updatedRow . Text += " Again" ;
113
+ db . Update ( updatedRow ) ;
114
+ }
115
+
79
116
[ Test ]
80
117
public void Select_retrieves_rowversion ( )
81
118
{
0 commit comments