Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit b7cf65f

Browse files
committed
Fix async GetRowVersionAsync as well
1 parent 3194780 commit b7cf65f

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/ServiceStack.OrmLite/Async/OrmLiteWriteCommandExtensionsAsync.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ internal static async Task<object> GetRowVersionAsync(this IDbCommand dbCmd, Mod
633633
if (to is ulong u && modelDef.RowVersion.ColumnType == typeof(byte[]))
634634
return BitConverter.GetBytes(u);
635635

636-
return to;
636+
return to ?? modelDef.RowVersion.ColumnType.GetDefaultValue();
637637
}
638638
}
639639
}

tests/ServiceStack.OrmLite.Tests/RowVersionTests.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,24 @@ public void Can_Save_ModelWithAutoGuidAndRowVersion()
261261
Assert.That(dbRow.Name, Is.EqualTo("B"));
262262
}
263263

264+
[Test]
265+
public async Task Can_Save_ModelWithAutoGuidAndRowVersion_Async()
266+
{
267+
db.DropAndCreateTable<ModelWithAutoGuidAndRowVersion>();
268+
var row = new ModelWithAutoGuidAndRowVersion { Name = "A" };
269+
270+
Assert.That(await db.SaveAsync(row));
271+
272+
var dbRow = await db.SingleByIdAsync<ModelWithAutoGuidAndRowVersion>(row.Id);
273+
Assert.That(dbRow.Name, Is.EqualTo(row.Name));
274+
275+
dbRow.Name = "B";
276+
await db.SaveAsync(dbRow);
277+
278+
dbRow = await db.SingleByIdAsync<ModelWithAutoGuidAndRowVersion>(row.Id);
279+
Assert.That(dbRow.Name, Is.EqualTo("B"));
280+
}
281+
264282
[Test]
265283
public void Can_SaveAll_new_rows_and_retrieve_rowversion()
266284
{

0 commit comments

Comments
 (0)