Example #1
0
 public void SubmitForm(SysModuleButton sysModuleButton, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         sysModuleButton.Id = keyValue;
         _Respository.Update(sysModuleButton);
     }
     else
     {
         _Respository.Insert(sysModuleButton);
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }
Example #5
0
        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();
        }
Example #6
0
        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"));
        }
Example #7
0
        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();
        }
Example #8
0
 public ActionResult SubmitForm(SysModuleButton SysModuleButton, string keyValue)
 {
     ModuleButtonService.SubmitForm(SysModuleButton, keyValue);
     return(Success("操作成功。"));
 }