using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OrmTest { public class UnitCustom01 { public static void Init() { var ssc = new SqlSugarClient(new ConnectionConfig() { ConnectionString = OrmTest.Config.ConnectionString, DbType = SqlSugar.DbType.MySql, //必填 IsAutoCloseConnection = true }); ssc.Aop.OnLogExecuting = (s, p) => { Console.WriteLine(s); }; ssc.CodeFirst.InitTables(); var expMethods = new List(); expMethods.Add(new SqlFuncExternal() { UniqueMethodName = "SumSugar", MethodValue = (expInfo, dbType, expContext) => { if (dbType == DbType.SqlServer) return string.Format("SUM({0})", expInfo.Args[0].MemberName); else if (dbType == DbType.MySql) return string.Format("SUM({0})", expInfo.Args[0].MemberName); else throw new Exception("未实现"); } }); ssc.CurrentConnectionConfig.ConfigureExternalServices = new ConfigureExternalServices() { SqlFuncServices = expMethods //set ext method }; try { ssc.Insertable(new Student() { Age = 1, Createtime = DateTime.Now, Grade = 1, Id = 1, Name = "a", Schoolid = 1 }).ExecuteCommand(); ssc.Insertable(new Student() { Age = 1, Createtime = DateTime.Now, Grade = 1, Id = 1, Name = "a", Schoolid = 1 }).ExecuteCommand(); var sss12 = ssc.Queryable().GroupBy(o => o.Name).Select(o => new { Age = SqlFunc.AggregateSum(o.Age) }).ToList(); } catch (Exception e) { } ssc.CodeFirst.InitTables(); ssc.CodeFirst.InitTables(); } } public class unittest1231sdaa { [SugarColumn(IndexGroupNameList = new string[] { "index3" }, ColumnDataType = "DATETIME(6)", DefaultValue = "CURRENT_TIMESTAMP(6)")] public DateTime update_time { get; set; } } public class unittest1231sdaa2 { [SugarColumn(IndexGroupNameList = new string[] { "index3" }, ColumnDataType = "DATETIME", DefaultValue = "CURRENT_TIMESTAMP")] public DateTime update_time { get; set; } } [SugarTable("unitstudent1111")] public class Student { /// /// /// [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } /// /// /// [SugarColumn(ColumnName = "schoolid")] public int? Schoolid { get; set; } /// /// /// [SugarColumn(ColumnName = "name")] public string Name { get; set; } /// /// /// [SugarColumn(ColumnName = "createtime")] public DateTime? Createtime { get; set; } /// /// /// [SugarColumn(ColumnName = "age")] public int? Age { get; set; } /// /// /// [SugarColumn(ColumnName = "grade")] public int? Grade { get; set; } } }