コード例 #1
0
        public void Do(ProviderType type)
        {
            string        fileName = "Query";
            int           count    = 1;
            SqlLam <Area> sql      = new SqlLam <Area>("u", type);

            sql.Type = ProviderType.Oracle;

            GlobalConfig.UseDb(ProviderType.Oracle);

            Log.WriteLog(count, fileName, "生成最简单的SQL", "SqlLam<Area> sql = new SqlLam<Area>();", sql);

            count++;
            sql = new SqlLam <Area>("u");
            Log.WriteLog(count, fileName, "带别名的简单SQL", "SqlLam<Area> sql = new SqlLam<Area>(\"u\");", sql);

            count++;
            sql.As("u");
            Log.WriteLog(count, fileName, "带别名的简单SQL2,和上面效果一样", "SqlLam<Area> sql = new SqlLam<Area>();\r\nsql.As(\"u\");", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Top(100);
            Log.WriteLog(count, fileName, "SQL TOP * ", "sql.Top(100);", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Top(100, true);
            Log.WriteLog(count, fileName, "SQL TOP * 带 percent ", "sql.Top(100, true);", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Select(m => m.AreaCode);
            Log.WriteLog(count, fileName, "SQL Select 只查一列 ", "sql.Select(m => m.F_CreatorUserId);", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Select(m => new { m.AreaCode, m.AreaId, m.AreaName });
            Log.WriteLog(count, fileName, "SQL Select 查多列 ", "sql.Select(m => m.F_CreatorUserId);", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Top(100).Select(m => new { m.AreaCode, m.AreaId, m.AreaName });
            Log.WriteLog(count, fileName, "SQL TOP 其他列 先写 TOP 再写 Select", "sql.Top(100).Select(m => new { m.F_CreatorUserId, m.F_DeleteMark, m.F_EnCode });", sql);

            count++;
            sql = new SqlLam <Area>();
            sql.Select(m => new { m.AreaCode, m.AreaId, m.AreaName }).Top(100);
            Log.WriteLog(count, fileName, "SQL TOP 其他列 先写 Select 再写 TOP, 其结果一样", "sql.Top(100).Select(m => new { m.F_CreatorUserId, m.F_DeleteMark, m.F_EnCode });", sql);

            count++;
            sql.Clear();
            sql.As("a");
            sql.Where(m => !string.IsNullOrEmpty(m.AreaCode));
            Log.WriteLog(count, fileName, "SQL 实现 IsNullOrEmpty 方法", "sql.Where(m => string.IsNullOrEmpty(m.AreaCode));", sql);
        }
コード例 #2
0
        public bool Exist(Expression <Func <T, bool> > where = null)
        {
            if (where != null)
            {
                sql.Where(where);
            }

            sql.Select("1 as Num");

            int num = client.GetList <int>(sql.GetSql(), sql.GetParameters()).FirstOrDefault();

            return(num > 0);
        }
コード例 #3
0
        public bool Exist(Expression <Func <T, bool> > where = null)
        {
            if (where != null)
            {
                sql.Where(where);
            }

            sql.Select("1 as Num");

            int num = this.GetEntity <int>(null);

            return(num > 0);
        }
コード例 #4
0
        static void Main1(string[] args)
        {
            //GlobalConfig.UseDb(ProviderType.MySql);

            SqlLam <User> sql = new SqlLam <User>("u");

            sql.Select(m => new { m.F_Account, m.F_Birthday });
            //sql.Where(m => m.F_CreatorTime == DateTime.Now || m.F_DepartmentId == "aaa");
            ////sql.And(m => m.F_DeleteUserId == "a");
            sql.And().Begin();
            sql.Or(m => m.F_Description == "bbb");
            sql.Or(m => m.F_DutyId == "333");
            sql.End();
            //sql.Select(m => m.F_SecurityLevel, m => m.F_RoleId).GroupBy(m => m.F_NickName);
            //sql.Where(m => m.F_RoleId == "a").OrderBy(m => m.Id);
            //sql.Delete(m => m.Id == 1);
            //sql.Truncate();// 有问题
            int age = 10;

            UserLogon ul = new UserLogon();

            ul.F_Language = age.ToString();

            User u = new User();

            u.Id        = 1;
            u.Name      = "roc";
            u.F_Account = "不知道";

            //sql.Select(m => new { m.F_Account, m.Name, m.F_WeChat });
            //sql.Where(m => m.F_LastModifyTime == DateTime.Now.AddDays(3));
            //sql.Delete().Join<UserLogon>((a, b) => a.F_Id == u.Name, aliasName: "ul").Where(m => m.F_UserId == u.F_Account);
            //sql.Where(m => m.Id == 1);

            //sql.Update(u, m => new { m.F_Account, m.F_RoleId }).Join<UserLogon>((a, b) => a.F_Id == u.Name, aliasName: "ul").Where(m => m.F_UserId == u.F_Account);
            //sql.Where(m => m.Id == 1);

            List <User> areas = new List <User>();

            areas.Add(new User()
            {
                F_Id = "1"
            });
            areas.Add(new User()
            {
                F_CreatorTime = DateTime.Now
            });

            //User[] us = new User[] { };
            //sql.Insert(areas, m => new { m.Id, m.Name, m.F_WeChat });
            //sql.Insert(areas, m => new { m.F_WeChat, m.Name, m.F_SortCode });
            //sql.Insert(new { Id = 1, Name = "Roc" }, increment: true);

            //SqlLam<UserLogon> sqlUl = new SqlLam<UserLogon>("ul");
            //sqlUl.Select(m => new { F_WeChat = m.F_UserId, Name = m.F_Theme, F_SortCode = m.F_Question }).Where(m => m.F_UserId == "aa");

            //sql.InsertWithQuery(m => new { m.F_WeChat, m.Name, m.F_SortCode }, sqlUl);

            string sqlString = sql.GetSql();

            Console.WriteLine(string.Format("SQL: {0}", sqlString));
            var ps = sql.GetParameters();

            foreach (var item in ps)
            {
                Console.WriteLine(string.Format("Key: {0}, Value: {1}", item.Key, item.Value));
            }

            Console.Read();
        }
コード例 #5
0
        public void Do(ProviderType type)
        {
            string        fileName = "Config";
            int           count    = 1;
            SqlLam <Area> sql      = new SqlLam <Area>("a", type);

            Log.WriteLog(count, fileName, "特性配置表名", "SqlLam<Area> sql = new SqlLam<Area>(\"a\", type);", sql);

            //sql.Clear();
            count++;
            //SqlTableEntity areaTable = new SqlTableEntity(typeof(Area), "T_Area_全局");
            //GlobalConfig.AddTable(areaTable);
            Log.WriteLog(count, fileName, "全局配置表名", "SqlTableEntity areaTable = new SqlTableEntity(typeof(Area), \"T_Area\");GlobalConfig.Tables.Add(areaTable);", sql);

            //sql.Clear();
            count++;
            Log.WriteLog(count, fileName, "全局配置表名两种方式都存在", "SqlTableEntity areaTable = new SqlTableEntity(typeof(Area), \"T_Area\");GlobalConfig.Tables.Add(areaTable);", sql);

            sql.Clear();
            count++;
            sql.Select(m => m.AreaName);
            Log.WriteLog(count, fileName, "特性配置列名", "SqlLam<Area> sql = new SqlLam<Area>(\"a\", type);sql.Select(m => m.AreaName);", sql);

            sql.Clear();
            count++;
            //areaTable.AddColumn(new SqlColumnEntity("AreaName", "F_AreaName"));
            //GlobalConfig.AddTable(areaTable);
            sql.Select(m => m.AreaName);
            Log.WriteLog(count, fileName, "全局配置列名", "areaTable.Columns.Add(new SqlColumnEntity(\"AreaName\", \"F_AreaName\"));", sql);


            sql.Clear();
            count++;
            sql.Select(m => new { m.AreaName, m.Layer });
            Log.WriteLog(count, fileName, "忽略查询列名", " sql.Select(m => new { m.AreaName, m.Layer });", sql);

            sql.Clear();
            count++;
            Area a = new Area();

            a.Layer    = 10;
            a.AreaName = "测试";
            sql.Insert(a, false);
            Log.WriteLog(count, fileName, "忽略插入列名", " sql.Insert(a);", sql);

            sql.Clear();
            count++;

            a.Layer    = 10;
            a.AreaName = "测试";
            sql.Update(a, false).Where(m => m.Id);
            Log.WriteLog(count, fileName, "忽略修改列名", " sql.Update(a, false);", sql);

            sql.Clear();
            count++;

            a.Layer    = 10;
            a.AreaName = "测试";
            sql.Update(a, m => new { m.ParentId, m.Id, m.AreaName }).Where(m => m.Id);
            Log.WriteLog(count, fileName, "忽略修改列名部分字段", " sql.Update(a, m => new { m.ParentId, m.Id, m.AreaName }).Where(m => m.Id);", sql);
        }