public void SubmitForm(SysModuleButton sysModuleButton, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { sysModuleButton.Id = keyValue; _Respository.Update(sysModuleButton); } else { _Respository.Insert(sysModuleButton); } }
public void SubmitCloneButton(string moduleId, string Ids) { string[] ArrayId = Ids.Split(','); var data = this.GetList(); List <SysModuleButton> entitys = new List <SysModuleButton>(); foreach (string item in ArrayId) { SysModuleButton SysModuleButton = data.Find(t => t.Id == item); SysModuleButton.Id = Common.GuId(); SysModuleButton.ModuleId = moduleId; entitys.Add(SysModuleButton); } _Respository.SubmitCloneButton(entitys); }
public void Test02() { var dbs = g.sqlserver.DbFirst.GetDatabases(); var tbs = g.sqlserver.DbFirst.GetTablesByDatabase("ds_shop"); var dicParamslist = g.sqlite.Select <SysModule>().Page(1, 10) .Where("id > @id and id > @id2 and id > @id3", new Dictionary <string, int> { ["id"] = 1, ["id2"] = 2, ["id3"] = 3 }) .ToList(); var list111 = g.sqlite.Select <SysModule>() .Page(1, 10) .ToList(a => new { Id = a.Id }) .Select(a => new SysModule { Id = a.Id }).ToList() .IncludeMany(g.sqlite, a => a.Permissions, then => then.Include(a => a.Button)); var list222 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions, then => then.Include(a => a.Button)) .Page(1, 10) .ToList(); var comments1 = g.mysql.Select <Comment, UserLike>() .LeftJoin((a, b) => a.Id == b.SubjectId) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); var comments2 = g.mysql.Select <Comment>() .Include(r => r.UserInfo) .From <UserLike>((z, b) => z.LeftJoin(u => u.Id == b.SubjectId)) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); g.sqlite.Delete <SysModulePermission>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModuleButton>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModule>().Where("1=1").ExecuteAffrows(); var menu1 = new SysModule { Id = "menu1", Name = "菜单1" }; var menu2 = new SysModule { Id = "menu2", Name = "菜单2" }; g.sqlite.Insert(new[] { menu1, menu2 }).ExecuteAffrows(); var button1 = new SysModuleButton { Id = "button1", Name = "添加" }; var button2 = new SysModuleButton { Id = "button2", Name = "修改" }; var button3 = new SysModuleButton { Id = "button3", Name = "删除" }; var button4 = new SysModuleButton { Id = "button4", Name = "查询" }; g.sqlite.Insert(new[] { button1, button2, button3, button4 }).ExecuteAffrows(); g.sqlite.Insert(new[] { new SysModulePermission { Id = "menu1_button1", SysModuleId = menu1.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu1_button2", SysModuleId = menu1.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu1_button3", SysModuleId = menu1.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu1_button4", SysModuleId = menu1.Id, SysModuleButtonId = button4.Id }, new SysModulePermission { Id = "menu2_button1", SysModuleId = menu2.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu2_button2", SysModuleId = menu2.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu2_button3", SysModuleId = menu2.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu2_button4", SysModuleId = menu2.Id, SysModuleButtonId = button4.Id }, }).ExecuteAffrows(); var list123123 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions.Where(p => p.SysModuleId == m.Id), then => then.LeftJoin(p => p.Button.Id == p.SysModuleButtonId)) .ToList(); }
public void Test02() { g.sqlite.Update <TestIgnoreDefaultValue>(Guid.Empty).Set(a => a.ct1 == a.ct2).ExecuteAffrows(); g.sqlite.Insert(new otot1 { name = "otot1_name1" }).ExecuteAffrows(); var otolst1 = g.sqlite.Select <otot1>() .LeftJoin(a => a.id == a.t2.id) .ToList(); var otolst2 = g.sqlite.Select <otot1, otot2>() .LeftJoin((a, b) => a.id == b.id) .ToList((a, b) => new { a, b }); var testcf = g.sqlite.CodeFirst.GetComparisonDDLStatements(typeof(dfDto2), "main.test2"); var u1 = new userinfo { name = "111", departments = new List <departments>(new[] { new departments { deptname = "dep1" }, new departments { deptname = "dep1" } }) }; var kwrepo = g.sqlite.GetRepository <userinfo>(); kwrepo.Insert(u1); g.sqlite.GlobalFilter.Apply <gf_t1>("gft1", a => a.rowstate > -1) .Apply <gf_t2>("gft2", a => a.rowstate > -2) .Apply <gf_t3>("gft3", a => a.rowstate > -3); var tksk1 = g.sqlite.Select <gf_t1, gf_t2, gf_t3>() .InnerJoin((a, b, c) => a.id == b.id) .Where((a, b, c) => c.rowstate > 10) .ToList(); var tksk2 = g.sqlite.Select <gf_t1, gf_t2, gf_t3>() .InnerJoin((a, b, c) => a.id == b.id) .Where((a, b, c) => c.rowstate > 10) .ToList(); var dtot2 = g.sqlite.Select <gf_t1>().ToList(a => new gfDto { dto2 = new dfDto2 { rowstate = a.rowstate } }); List <(Guid, DateTime)> contains2linqarr = new List <(Guid, DateTime)>(); Assert.Equal("SELECT 1 as1 FROM \"TestIgnoreDefaultValue\" a WHERE (1=0)", g.sqlite.Select <TestIgnoreDefaultValue>().Where(a => contains2linqarr.Contains(a.Id, a.ct1)).ToSql(a => 1).Replace("\r\n", "")); g.sqlite.Select <TestIgnoreDefaultValue>().Where(a => contains2linqarr.Contains(a.Id, a.ct1)).ToList(); contains2linqarr.Add((Guid.NewGuid(), DateTime.Now)); contains2linqarr.Add((Guid.NewGuid(), DateTime.Now)); contains2linqarr.Add((Guid.NewGuid(), DateTime.Now)); g.sqlite.Select <TestIgnoreDefaultValue>() .Where(a => contains2linqarr.Contains(a.Id, a.ct1)).ToList(); List <(Guid, DateTime, DateTime?)> contains3linqarr = new List <(Guid, DateTime, DateTime?)>(); Assert.Equal("SELECT 1 as1 FROM \"TestIgnoreDefaultValue\" a WHERE (1=0)", g.sqlite.Select <TestIgnoreDefaultValue>().Where(a => contains3linqarr.Contains(a.Id, a.ct1, a.ct2)).ToSql(a => 1).Replace("\r\n", "")); g.sqlite.Select <TestIgnoreDefaultValue>().Where(a => contains3linqarr.Contains(a.Id, a.ct1, a.ct2)).ToList(); contains3linqarr.Add((Guid.NewGuid(), DateTime.Now, DateTime.Now)); contains3linqarr.Add((Guid.NewGuid(), DateTime.Now, DateTime.Now)); contains3linqarr.Add((Guid.NewGuid(), DateTime.Now, DateTime.Now)); g.sqlite.Select <TestIgnoreDefaultValue>().Where(a => contains3linqarr.Contains(a.Id, a.ct1, a.ct2)).ToList(); var start = DateTime.Now.Date; var end = DateTime.Now.AddDays(1).Date.AddMilliseconds(-1); var textbetween = g.sqlite.Select <TestIgnoreDefaultValue>() .Where(a => a.ct1.Between(start, end)) .ToList(); var textbetweenend = g.sqlite.Select <TestIgnoreDefaultValue>() .Where(a => a.ct1.BetweenEnd(start, end)) .ToList(); g.mysql.GlobalFilter.Apply <gf_t1>("gft1", a => a.rowstate > -1) .Apply <gf_t2>("gft2", a => a.rowstate > -2) .Apply <gf_t3>("gft3", a => a.rowstate > -3); var gft1 = g.mysql.Select <gf_t1>().Where(a => a.id == Guid.NewGuid()).ToList(); var gft2 = g.mysql.Select <gf_t2>().Where(a => a.id == Guid.NewGuid()).ToList(); var gft3 = g.mysql.Select <gf_t3>().Where(a => a.id == Guid.NewGuid()).ToList(); g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); Assert.Equal(1048, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(1048, g.mysql.Select <TBatInst>().Count()); Assert.Equal(1048, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(1048, g.oracle.Select <TBatInst>().Count()); Assert.Equal(1048, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); Assert.Equal(1048, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(1048, g.mysql.Select <TBatInst>().Count()); Assert.Equal(1048, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(1048, g.oracle.Select <TBatInst>().Count()); Assert.Equal(1048, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); Assert.Equal(3348, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(3348, g.mysql.Select <TBatInst>().Count()); Assert.Equal(3348, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(3348, g.oracle.Select <TBatInst>().Count()); Assert.Equal(3348, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); Assert.Equal(3348, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(3348, g.mysql.Select <TBatInst>().Count()); Assert.Equal(3348, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(3348, g.oracle.Select <TBatInst>().Count()); Assert.Equal(3348, g.sqlite.Select <TBatInst>().Count()); //var serverTime = g.pgsql.Select<TestIgnoreDefaultValue>().Limit(1).First(a => DateTime.UtcNow); //var timeOffset = DateTime.UtcNow.Subtract(serverTime); //减去数据库时间 //g.pgsql.Aop.AuditValue += new EventHandler<Aop.AuditValueEventArgs>((_, e) => //{ // if (e.Column.Attribute.MapType.NullableTypeOrThis() == typeof(DateTime)) // { // if (e.Value == null || (DateTime)e.Value == default(DateTime)) // { // e.Value = DateTime.Now.Subtract(timeOffset); // return; // } // } //}); g.pgsql.Delete <TestIgnoreDefaultValue>().Where("1=1").ExecuteAffrows(); g.pgsql.GetRepository <TestIgnoreDefaultValue>().Insert(new TestIgnoreDefaultValue[] { new TestIgnoreDefaultValue(), new TestIgnoreDefaultValue(), new TestIgnoreDefaultValue() }); var testttt = g.pgsql.Select <TestIgnoreDefaultValue>().Limit(10).ToList(); var slsksd = g.mysql.Update <UserLike>().SetSource(new UserLike { Id = Guid.NewGuid(), CreateUserId = 1000, SubjectId = Guid.NewGuid() }) .UpdateColumns(a => new { a.SubjectId }).NoneParameter().ToSql(); g.mysql.Aop.ParseExpression = (s, e) => { if (e.Expression.NodeType == ExpressionType.Call) { var callExp = e.Expression as MethodCallExpression; if (callExp.Object?.Type == typeof(DateTime) && callExp.Method.Name == "ToString" && callExp.Arguments.Count == 1 && callExp.Arguments[0].Type == typeof(string) && callExp.Arguments[0].NodeType == ExpressionType.Constant) { var format = (callExp.Arguments[0] as ConstantExpression)?.Value?.ToString(); if (string.IsNullOrEmpty(format) == false) { var tmp = e.FreeParse(callExp.Object); switch (format) { case "yyyy-MM-dd HH:mm": tmp = $"date_format({tmp}, '%Y-%m-%d %H:%i')"; break; } e.Result = tmp; } } } }; var dbs = g.sqlserver.DbFirst.GetDatabases(); var tbs = g.sqlserver.DbFirst.GetTablesByDatabase("ds_shop"); var dicParamslist = g.sqlite.Select <SysModule>().Page(1, 10) .Where("id > @id and id > @id2 and id > @id3", new Dictionary <string, int> { ["id"] = 1, ["id2"] = 2, ["id3"] = 3 }) .ToList(); var list111 = g.sqlite.Select <SysModule>() .Page(1, 10) .ToList(a => new { Id = a.Id }) .Select(a => new SysModule { Id = a.Id }).ToList() .IncludeMany(g.sqlite, a => a.Permissions, then => then.Include(a => a.Button)); var list222 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions, then => then.Include(a => a.Button)) .Page(1, 10) .ToList(); var comments1 = g.mysql.Select <Comment, UserLike>() .LeftJoin((a, b) => a.Id == b.SubjectId) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); var comments2 = g.mysql.Select <Comment>() .Include(r => r.UserInfo) .From <UserLike>((z, b) => z.LeftJoin(u => u.Id == b.SubjectId)) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); g.sqlite.Delete <SysModulePermission>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModuleButton>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModule>().Where("1=1").ExecuteAffrows(); var menu1 = new SysModule { Id = "menu1", Name = "菜单1" }; var menu2 = new SysModule { Id = "menu2", Name = "菜单2" }; g.sqlite.Insert(new[] { menu1, menu2 }).ExecuteAffrows(); var button1 = new SysModuleButton { Id = "button1", Name = "添加" }; var button2 = new SysModuleButton { Id = "button2", Name = "修改" }; var button3 = new SysModuleButton { Id = "button3", Name = "删除" }; var button4 = new SysModuleButton { Id = "button4", Name = "查询" }; g.sqlite.Insert(new[] { button1, button2, button3, button4 }).ExecuteAffrows(); g.sqlite.Insert(new[] { new SysModulePermission { Id = "menu1_button1", SysModuleId = menu1.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu1_button2", SysModuleId = menu1.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu1_button3", SysModuleId = menu1.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu1_button4", SysModuleId = menu1.Id, SysModuleButtonId = button4.Id }, new SysModulePermission { Id = "menu2_button1", SysModuleId = menu2.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu2_button2", SysModuleId = menu2.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu2_button3", SysModuleId = menu2.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu2_button4", SysModuleId = menu2.Id, SysModuleButtonId = button4.Id }, }).ExecuteAffrows(); var list123123 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions.Where(p => p.SysModuleId == m.Id), then => then.LeftJoin(p => p.Button.Id == p.SysModuleButtonId)) .ToList(); var sql = g.sqlite.Select <SysModule>() .ToSql(a => a.CreateTime.FormatDateTime("yyyy-MM-dd")); var parm1 = "11"; var parm2 = "22"; var parm3 = "33"; var testparmSelect = g.sqlserver.Select <TestMySqlStringIsNullable>() .Where(a => a.nvarchar == "11" && a.nvarchar_notnull == "22" && a.nvarchar_null == "33" && a.varchar == "11" && a.varchar_notnull == "22" && a.varchar_null == "33" && a.nvarchar == parm1 && a.nvarchar_notnull == parm2 && a.nvarchar_null == parm3 && a.varchar == parm3 && a.varchar_notnull == parm2 && a.varchar_null == parm3 && a.nvarchar == parm1.SetDbParameter(10) && a.nvarchar_notnull == parm2.SetDbParameter(11) && a.nvarchar_null == parm3.SetDbParameter(12) && a.varchar == parm3.SetDbParameter(13) && a.varchar_notnull == parm2.SetDbParameter(14) && a.varchar_null == parm3.SetDbParameter(15) && "11" == a.nvarchar && "22" == a.nvarchar_notnull && "33" == a.nvarchar_null && "11" == a.varchar && "22" == a.varchar_notnull && "33" == a.varchar_null && parm1 == a.nvarchar && parm2 == a.nvarchar_notnull && parm3 == a.nvarchar_null && parm1 == a.varchar && parm2 == a.varchar_notnull && parm3 == a.varchar_null && parm1.SetDbParameter(10) == a.nvarchar && parm2.SetDbParameter(11) == a.nvarchar_notnull && parm3.SetDbParameter(12) == a.nvarchar_null && parm1.SetDbParameter(13) == a.varchar && parm2.SetDbParameter(14) == a.varchar_notnull && parm3.SetDbParameter(15) == a.varchar_null ); //g.sqlserver.CodeFirst.IsGenerateCommandParameterWithLambda = true; var name = "testname"; var sdfsdgselect1 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name); var sdfsdgselect2 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name.SetDbParameter(10)); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name).ToList(); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name.SetDbParameter(10)).ToList(); var testarr = new string[] { "1", "2" }; var sdfsdgselect3 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => testarr.Contains(a.varchar)); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => testarr.Contains(a.varchar)).ToList(); }
public void Test02() { g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); Assert.Equal(1048, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(1048, g.mysql.Select <TBatInst>().Count()); Assert.Equal(1048, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(1048, g.oracle.Select <TBatInst>().Count()); Assert.Equal(1048, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 1048).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); Assert.Equal(1048, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(1048, g.mysql.Select <TBatInst>().Count()); Assert.Equal(1048, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(1048, g.oracle.Select <TBatInst>().Count()); Assert.Equal(1048, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).ExecuteAffrows(); Assert.Equal(3348, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(3348, g.mysql.Select <TBatInst>().Count()); Assert.Equal(3348, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(3348, g.oracle.Select <TBatInst>().Count()); Assert.Equal(3348, g.sqlite.Select <TBatInst>().Count()); //---- g.sqlserver.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.mysql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.pgsql.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.oracle.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <TBatInst>().Where("1=1").ExecuteAffrows(); g.sqlserver.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.mysql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.pgsql.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.oracle.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); g.sqlite.Insert(Enumerable.Range(0, 3348).Select(a => new TBatInst { Name = "test" + a }).ToList()).NoneParameter().ExecuteAffrows(); Assert.Equal(3348, g.sqlserver.Select <TBatInst>().Count()); Assert.Equal(3348, g.mysql.Select <TBatInst>().Count()); Assert.Equal(3348, g.pgsql.Select <TBatInst>().Count()); Assert.Equal(3348, g.oracle.Select <TBatInst>().Count()); Assert.Equal(3348, g.sqlite.Select <TBatInst>().Count()); //var serverTime = g.pgsql.Select<TestIgnoreDefaultValue>().Limit(1).First(a => DateTime.UtcNow); //var timeOffset = DateTime.UtcNow.Subtract(serverTime); //减去数据库时间 //g.pgsql.Aop.AuditValue += new EventHandler<Aop.AuditValueEventArgs>((_, e) => //{ // if (e.Column.Attribute.MapType.NullableTypeOrThis() == typeof(DateTime)) // { // if (e.Value == null || (DateTime)e.Value == default(DateTime)) // { // e.Value = DateTime.Now.Subtract(timeOffset); // return; // } // } //}); g.pgsql.Delete <TestIgnoreDefaultValue>().Where("1=1").ExecuteAffrows(); g.pgsql.GetRepository <TestIgnoreDefaultValue>().Insert(new TestIgnoreDefaultValue[] { new TestIgnoreDefaultValue(), new TestIgnoreDefaultValue(), new TestIgnoreDefaultValue() }); var testttt = g.pgsql.Select <TestIgnoreDefaultValue>().Limit(10).ToList(); var slsksd = g.mysql.Update <UserLike>().SetSource(new UserLike { Id = Guid.NewGuid(), CreateUserId = 1000, SubjectId = Guid.NewGuid() }) .UpdateColumns(a => new { a.SubjectId }).NoneParameter().ToSql(); g.mysql.Aop.ParseExpression = (s, e) => { if (e.Expression.NodeType == ExpressionType.Call) { var callExp = e.Expression as MethodCallExpression; if (callExp.Object?.Type == typeof(DateTime) && callExp.Method.Name == "ToString" && callExp.Arguments.Count == 1 && callExp.Arguments[0].Type == typeof(string) && callExp.Arguments[0].NodeType == ExpressionType.Constant) { var format = (callExp.Arguments[0] as ConstantExpression)?.Value?.ToString(); if (string.IsNullOrEmpty(format) == false) { var tmp = e.FreeParse(callExp.Object); switch (format) { case "yyyy-MM-dd HH:mm": tmp = $"date_format({tmp}, '%Y-%m-%d %H:%i')"; break; } e.Result = tmp; } } } }; var dbs = g.sqlserver.DbFirst.GetDatabases(); var tbs = g.sqlserver.DbFirst.GetTablesByDatabase("ds_shop"); var dicParamslist = g.sqlite.Select <SysModule>().Page(1, 10) .Where("id > @id and id > @id2 and id > @id3", new Dictionary <string, int> { ["id"] = 1, ["id2"] = 2, ["id3"] = 3 }) .ToList(); var list111 = g.sqlite.Select <SysModule>() .Page(1, 10) .ToList(a => new { Id = a.Id }) .Select(a => new SysModule { Id = a.Id }).ToList() .IncludeMany(g.sqlite, a => a.Permissions, then => then.Include(a => a.Button)); var list222 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions, then => then.Include(a => a.Button)) .Page(1, 10) .ToList(); var comments1 = g.mysql.Select <Comment, UserLike>() .LeftJoin((a, b) => a.Id == b.SubjectId) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); var comments2 = g.mysql.Select <Comment>() .Include(r => r.UserInfo) .From <UserLike>((z, b) => z.LeftJoin(u => u.Id == b.SubjectId)) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); g.sqlite.Delete <SysModulePermission>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModuleButton>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModule>().Where("1=1").ExecuteAffrows(); var menu1 = new SysModule { Id = "menu1", Name = "菜单1" }; var menu2 = new SysModule { Id = "menu2", Name = "菜单2" }; g.sqlite.Insert(new[] { menu1, menu2 }).ExecuteAffrows(); var button1 = new SysModuleButton { Id = "button1", Name = "添加" }; var button2 = new SysModuleButton { Id = "button2", Name = "修改" }; var button3 = new SysModuleButton { Id = "button3", Name = "删除" }; var button4 = new SysModuleButton { Id = "button4", Name = "查询" }; g.sqlite.Insert(new[] { button1, button2, button3, button4 }).ExecuteAffrows(); g.sqlite.Insert(new[] { new SysModulePermission { Id = "menu1_button1", SysModuleId = menu1.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu1_button2", SysModuleId = menu1.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu1_button3", SysModuleId = menu1.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu1_button4", SysModuleId = menu1.Id, SysModuleButtonId = button4.Id }, new SysModulePermission { Id = "menu2_button1", SysModuleId = menu2.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu2_button2", SysModuleId = menu2.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu2_button3", SysModuleId = menu2.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu2_button4", SysModuleId = menu2.Id, SysModuleButtonId = button4.Id }, }).ExecuteAffrows(); var list123123 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions.Where(p => p.SysModuleId == m.Id), then => then.LeftJoin(p => p.Button.Id == p.SysModuleButtonId)) .ToList(); var sql = g.sqlite.Select <SysModule>() .ToSql(a => a.CreateTime.FormatDateTime("yyyy-MM-dd")); var parm1 = "11"; var parm2 = "22"; var parm3 = "33"; var testparmSelect = g.sqlserver.Select <TestMySqlStringIsNullable>() .Where(a => a.nvarchar == "11" && a.nvarchar_notnull == "22" && a.nvarchar_null == "33" && a.varchar == "11" && a.varchar_notnull == "22" && a.varchar_null == "33" && a.nvarchar == parm1 && a.nvarchar_notnull == parm2 && a.nvarchar_null == parm3 && a.varchar == parm3 && a.varchar_notnull == parm2 && a.varchar_null == parm3 && a.nvarchar == parm1.SetDbParameter(10) && a.nvarchar_notnull == parm2.SetDbParameter(11) && a.nvarchar_null == parm3.SetDbParameter(12) && a.varchar == parm3.SetDbParameter(13) && a.varchar_notnull == parm2.SetDbParameter(14) && a.varchar_null == parm3.SetDbParameter(15) && "11" == a.nvarchar && "22" == a.nvarchar_notnull && "33" == a.nvarchar_null && "11" == a.varchar && "22" == a.varchar_notnull && "33" == a.varchar_null && parm1 == a.nvarchar && parm2 == a.nvarchar_notnull && parm3 == a.nvarchar_null && parm1 == a.varchar && parm2 == a.varchar_notnull && parm3 == a.varchar_null && parm1.SetDbParameter(10) == a.nvarchar && parm2.SetDbParameter(11) == a.nvarchar_notnull && parm3.SetDbParameter(12) == a.nvarchar_null && parm1.SetDbParameter(13) == a.varchar && parm2.SetDbParameter(14) == a.varchar_notnull && parm3.SetDbParameter(15) == a.varchar_null ); //g.sqlserver.CodeFirst.IsGenerateCommandParameterWithLambda = true; var name = "testname"; var sdfsdgselect1 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name); var sdfsdgselect2 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name.SetDbParameter(10)); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name).ToList(); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => a.varchar == name.SetDbParameter(10)).ToList(); var testarr = new string[] { "1", "2" }; var sdfsdgselect3 = g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => testarr.Contains(a.varchar)); g.sqlserver.Select <TestMySqlStringIsNullable>().Where(a => testarr.Contains(a.varchar)).ToList(); }
public void Test02() { g.mysql.Aop.ParseExpression = (s, e) => { if (e.Expression.NodeType == ExpressionType.Call) { var callExp = e.Expression as MethodCallExpression; if (callExp.Object?.Type == typeof(DateTime) && callExp.Method.Name == "ToString" && callExp.Arguments.Count == 1 && callExp.Arguments[0].Type == typeof(string) && callExp.Arguments[0].NodeType == ExpressionType.Constant) { var format = (callExp.Arguments[0] as ConstantExpression)?.Value?.ToString(); if (string.IsNullOrEmpty(format) == false) { var tmp = e.FreeParse(callExp.Object); switch (format) { case "yyyy-MM-dd HH:mm": tmp = $"date_format({tmp}, '%Y-%m-%d %H:%i')"; break; } e.Result = tmp; } } } }; var dbs = g.sqlserver.DbFirst.GetDatabases(); var tbs = g.sqlserver.DbFirst.GetTablesByDatabase("ds_shop"); var dicParamslist = g.sqlite.Select <SysModule>().Page(1, 10) .Where("id > @id and id > @id2 and id > @id3", new Dictionary <string, int> { ["id"] = 1, ["id2"] = 2, ["id3"] = 3 }) .ToList(); var list111 = g.sqlite.Select <SysModule>() .Page(1, 10) .ToList(a => new { Id = a.Id }) .Select(a => new SysModule { Id = a.Id }).ToList() .IncludeMany(g.sqlite, a => a.Permissions, then => then.Include(a => a.Button)); var list222 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions, then => then.Include(a => a.Button)) .Page(1, 10) .ToList(); var comments1 = g.mysql.Select <Comment, UserLike>() .LeftJoin((a, b) => a.Id == b.SubjectId) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); var comments2 = g.mysql.Select <Comment>() .Include(r => r.UserInfo) .From <UserLike>((z, b) => z.LeftJoin(u => u.Id == b.SubjectId)) .ToList((a, b) => new { comment = a, b.SubjectId, user = a.UserInfo }); g.sqlite.Delete <SysModulePermission>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModuleButton>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModule>().Where("1=1").ExecuteAffrows(); var menu1 = new SysModule { Id = "menu1", Name = "菜单1" }; var menu2 = new SysModule { Id = "menu2", Name = "菜单2" }; g.sqlite.Insert(new[] { menu1, menu2 }).ExecuteAffrows(); var button1 = new SysModuleButton { Id = "button1", Name = "添加" }; var button2 = new SysModuleButton { Id = "button2", Name = "修改" }; var button3 = new SysModuleButton { Id = "button3", Name = "删除" }; var button4 = new SysModuleButton { Id = "button4", Name = "查询" }; g.sqlite.Insert(new[] { button1, button2, button3, button4 }).ExecuteAffrows(); g.sqlite.Insert(new[] { new SysModulePermission { Id = "menu1_button1", SysModuleId = menu1.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu1_button2", SysModuleId = menu1.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu1_button3", SysModuleId = menu1.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu1_button4", SysModuleId = menu1.Id, SysModuleButtonId = button4.Id }, new SysModulePermission { Id = "menu2_button1", SysModuleId = menu2.Id, SysModuleButtonId = button1.Id }, new SysModulePermission { Id = "menu2_button2", SysModuleId = menu2.Id, SysModuleButtonId = button2.Id }, new SysModulePermission { Id = "menu2_button3", SysModuleId = menu2.Id, SysModuleButtonId = button3.Id }, new SysModulePermission { Id = "menu2_button4", SysModuleId = menu2.Id, SysModuleButtonId = button4.Id }, }).ExecuteAffrows(); var list123123 = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions.Where(p => p.SysModuleId == m.Id), then => then.LeftJoin(p => p.Button.Id == p.SysModuleButtonId)) .ToList(); var sql = g.sqlite.Select <SysModule>() .ToSql(a => a.CreateTime.FormatDateTime("yyyy-MM-dd")); }
public void Test02() { g.sqlite.Delete <SysModulePermission>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModuleButton>().Where("1=1").ExecuteAffrows(); g.sqlite.Delete <SysModule>().Where("1=1").ExecuteAffrows(); var menu1 = new SysModule { SysModuleId = "menu1", Name = "菜单1" }; var menu2 = new SysModule { SysModuleId = "menu2", Name = "菜单2" }; g.sqlite.Insert(new[] { menu1, menu2 }).ExecuteAffrows(); var button1 = new SysModuleButton { SysModuleButtonId = "button1", Name = "添加" }; var button2 = new SysModuleButton { SysModuleButtonId = "button2", Name = "修改" }; var button3 = new SysModuleButton { SysModuleButtonId = "button3", Name = "删除" }; var button4 = new SysModuleButton { SysModuleButtonId = "button4", Name = "查询" }; g.sqlite.Insert(new[] { button1, button2, button3, button4 }).ExecuteAffrows(); g.sqlite.Insert(new[] { new SysModulePermission { SysModulePermissionId = "menu1_button1", SysModuleId = menu1.SysModuleId, SysModuleButtonId = button1.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu1_button2", SysModuleId = menu1.SysModuleId, SysModuleButtonId = button2.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu1_button3", SysModuleId = menu1.SysModuleId, SysModuleButtonId = button3.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu1_button4", SysModuleId = menu1.SysModuleId, SysModuleButtonId = button4.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu2_button1", SysModuleId = menu2.SysModuleId, SysModuleButtonId = button1.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu2_button2", SysModuleId = menu2.SysModuleId, SysModuleButtonId = button2.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu2_button3", SysModuleId = menu2.SysModuleId, SysModuleButtonId = button3.SysModuleButtonId }, new SysModulePermission { SysModulePermissionId = "menu2_button4", SysModuleId = menu2.SysModuleId, SysModuleButtonId = button4.SysModuleButtonId }, }).ExecuteAffrows(); //var list = g.sqlite.Select<SysModule>() // .IncludeMany(m => m.Buttons) // .Page(1, 10) // .ToList(); var list = g.sqlite.Select <SysModule>() .IncludeMany(m => m.Permissions.Where(p => p.SysModuleId == m.SysModuleId), then => then.LeftJoin(p => p.Button.SysModuleButtonId == p.SysModuleButtonId)) .ToList(); }
public ActionResult SubmitForm(SysModuleButton SysModuleButton, string keyValue) { ModuleButtonService.SubmitForm(SysModuleButton, keyValue); return(Success("操作成功。")); }