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); }
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); }
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); }
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(); }
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); }