public void TestGUID() { var db = new MSSqlDBContext(); //var model = new TestID { id = Guid.NewGuid().ToString(), name = "tom" }; var model = new TestID { id = Guid.NewGuid(), name = "tom" }; Assert.True(db.NonQueryUseModel( $"insert into {nameof(TestID)}(id, name) values(@id, @name)", model) > 0); var list = db.Query <TestID>($"select * from {nameof(TestID)}"); Assert.NotEmpty(list.FirstOrDefault().id.ToString()); var whereModel = new { id = model.id, }; Assert.NotEmpty(db.QueryUseModel <TestID>($"select * from {nameof(TestID)} where id=@id", whereModel) .FirstOrDefault().id.ToString()); Assert.True((int)typeof(int).ChangeValueType( db.Scalar($"select count(id) from {nameof(TestID)}")) > 0); Assert.True((int)typeof(int).ChangeValueType( db.ScalarUseModel($"select count(id) from {nameof(TestID)}", whereModel)) > 0); Assert.True(db.NonQueryUseModel( $"update {nameof(TestID)} set name=@name where id=@id", new { id = model.id, name = "tom123" }) > 0); Assert.True(db.NonQueryUseModel( $"delete from {nameof(TestID)} where id=@id", new { id = model.id }) > 0); }
public void TestThread() { DbContext db = new MSSqlDBContext(); var p = new LuaPersonCacheBLL(db); var a = new LuaAddressCacheBLL(db); TestInit(p, a); List <Task> ts = new List <Task>(); int forcount = 100; for (int i = 0; i < forcount; i++) { ts.Add(Task.Run(() => { DbContext db1 = new MSSqlDBContext(); var pt = new LuaPersonCacheBLL(db1); var at = new LuaAddressCacheBLL(db1); pt.Add(); pt.Count(); pt.Update(); pt.Delete(); at.Add(); at.Count(); at.Update(); at.Delete(); })); } Task.WaitAll(ts.ToArray()); TestDelete(p, a); }
public void Test21() { DbContext db = new MSSqlDBContext(); var p = new LuaPersonCacheBLL(db); var a = new LuaAddressCacheBLL(db); TestInit(p, a); //查询缓存测试 var p1 = p.Get(); var count = p.Count(); Assert.True(p1?.Count > 0); Assert.True(count > 0); //再添加 Assert.True(p.Add() > 0); //因为配置了查询缓存,而且Add并没有进行清理缓存 Assert.True(p1?.Count == p.Get()?.Count); Assert.True(count == p.Count()); //AddEx 会进行缓存清理(AddEx是使用Scalar进行新增操作的,用于获取自增id) Assert.True(p.AddEx() > 0); Assert.True(p1?.Count != p.Get()?.Count); Assert.True(count != p.Count()); TestDelete(); }
public void L2Cache0() { var db = new MSSqlDBContext(); var p2 = new PersonL2CacheBLL(db); //使用了 output inserted.id 的,因此测试时选择支持的数据库(MSSqlServer) Assert.True(p2.AddPersonL2Cache1() > 0); var list = p2.GetListL2Cache(); //二级查询缓存,不设置过期时间的 Assert.True(p2.AddPersonL2NotClearCache() > 0); var list1 = p2.GetListL2Cache(); Assert.True(list?.Count > 0); Assert.True(list?.Count == list1?.Count); Assert.True(p2.AddPersonL2Cache1() > 0); //清理缓存 var list2 = p2.GetListL2Cache(); Assert.True(list?.Count != list2?.Count); p2.DeletePersonL2Cache(); }