diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index 558225fb8..0c6cbff9c 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -111,6 +111,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs index 6fdae46f8..95b753430 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs @@ -31,7 +31,7 @@ namespace OrmTest } public static void Init() { - + ULock.Init(); UnitManyToMany2.Init(); UOneManyMany5.init(); UOneManyMany4.init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/ULock.cs b/Src/Asp.Net/SqlServerTest/UnitTest/ULock.cs new file mode 100644 index 000000000..9be252b40 --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/UnitTest/ULock.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class ULock + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + var id=db.Insertable(new ULockEntity() + { + Name = "oldName", + }).ExecuteReturnIdentity(); + + var data = db.Updateable(new ULockEntity() + { + Id = id, + Name = "newname", + Ver=0 + }).ExecuteCommandWithOptLock(); + if (data != 1) { throw new Exception("unit error"); }; + var data2 = db.Updateable(new ULockEntity() + { + Id = id, + Name = "newname2", + Ver = 0 + }).ExecuteCommandWithOptLock(); + if (data2 != 0) { throw new Exception("unit error"); }; + } + + public class ULockEntity + { + [SqlSugar.SugarColumn(IsPrimaryKey =true,IsIdentity =true)] + public int Id { get; set; } + public string Name { get; set; } + [SqlSugar.SugarColumn(IsEnableUpdateVersionValidation = true)] + public long Ver { get; set; } + } + } +}