public void UpdateLockTest() { TestDB.DB.Test db = new TestDB.DB.Test("server=192.168.0.151;uid=sa;pwd=sa!@#123;database=Test", DatabaseType.SqlServer); db.BeginTransaction(); try { db.UpdateLock(db.UserInfo.Where(m => m.UserName == "way")); db.UpdateLock(db.UserInfo.Where(m => m.UserName == "way")); db.CommitTransaction(); } catch (Exception) { db.RollbackTransaction(); throw; } }
public void InsertUpdateDelete() { using (var db = new TestDB.DB.Test(ConStr, DatabaseType.SqlServer)) using (var tran = db.BeginTransaction()) { for (int i = 0; i < 10; i++) { var user = new User(); user.Name = "test_user" + i; user.Birthday = DateTime.Now; user.IntColumn1 = i; db.Insert(user); } //var ar = (from m in db.User // select new User // { // Name = m.Name // }).ToArray(); var list = db.User.Where(m => m.Name.StartsWith("test_user")).ToArray(); if (list.Length < 10) { throw new Exception("数量不对"); } for (int i = 0; i < 10; i++) { if (list.Any(m => m.Name == "test_user" + i && m.Birthday != null && m.IntColumn1 == i) == false) { throw new Exception("数据错误"); } } for (int i = 0; i < 10; i++) { var user = list.FirstOrDefault(m => m.Name == "test_user" + i && m.Birthday != null && m.IntColumn1 == i); user.Name = "test_user" + (i + 10); user.IntColumn1 = i + 10; db.Update(user); } list = db.User.Where(m => m.Name.StartsWith("test_user")).ToArray(); for (int i = 0; i < 10; i++) { if (list.Any(m => m.Name == "test_user" + (i + 10) && m.Birthday != null && m.IntColumn1 == (i + 10)) == false) { throw new Exception("数据错误"); } } for (int i = 0; i < 10; i++) { var user = list[i]; user.SetValue <User>(m => m.IntColumn1 == m.IntColumn1 + 2); db.Update(user); } list = db.User.Where(m => m.Name.StartsWith("test_user")).ToArray(); for (int i = 0; i < 10; i++) { if (list.Any(m => m.Name == "test_user" + (i + 10) && m.Birthday != null && m.IntColumn1 == (i + 12)) == false) { throw new Exception("数据错误"); } } var syslog = new TestDB.SysLog(); syslog.UserId = list[0].id; syslog.Time = DateTime.Now; syslog.SystemPath = "my sys path"; syslog.SysId = "sys id"; db.Insert(syslog); var usrlog = new TestDB.UserLog(); usrlog.UserId = list[1].id; usrlog.Time = DateTime.Now; usrlog.PeopleName = "my People Name"; db.Insert(usrlog); var admlog = new TestDB.AdminLog(); admlog.UserId = list[2].id; admlog.Time = DateTime.Now; admlog.AdminId = "my ad id"; db.Insert(admlog); var logs = db.Log.ToArray(); if (logs.Any(m => m is TestDB.SysLog) == false) { throw new Exception("数据错误"); } if (logs.Any(m => m is TestDB.UserLog) == false) { throw new Exception("数据错误"); } if (logs.Any(m => m is TestDB.AdminLog) == false) { throw new Exception("数据错误"); } logs = db.Log.Include(m => m.User).ToArray(); if (logs[0].User == null) { throw new Exception("数据错误"); } var syslogs = db.SysLog.Include(m => m.User).ToArray(); if (syslogs[0].User == null) { throw new Exception("数据错误"); } //测试删除 db.Delete(db.User); if (db.Log.Count() > 0) { throw new Exception("没有级联删除"); } } }