using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; namespace OrmTest { internal class UnitManyToMany121231 { public static void Init() { var db = NewUnitTest.Db; db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); var id = db.Insertable(new Role() { id = 1, createTime = DateTime.Now, name = "admin" }).ExecuteReturnIdentity(); var id2 = db.Insertable(new Role() { id = 2, createTime = DateTime.Now, name = "admin" }).ExecuteReturnIdentity(); db.InsertNav(new OperatorInfo() { id = "1", createTime = DateTime.Now, isDel = 1, isDisabled = 1, openid = "", phone = "", pwd = "", realname = "a01", remark = "a", sno = "a", username = "a01", Roles = new List() { new Role() { id = 2 }, new Role() { id = 1 } } }).Include(it => it.Roles).ExecuteCommand(); var list1 = db.Queryable() .Includes(it => it.Roles) .ToList(); TestLength2(db); TestLength3(db); TestLength1(db); } private static void TestLength1(SqlSugarClient db) { var par = "aa"; db.Queryable() .Where(it => it.name.ToString().Substring(1, par.Length) == "") .ToList(); var sql1 = db.Queryable() .Where(it => it.name.ToString().Substring(1, par.Length) == "") .ToSqlString(); if (sql1.Contains("LEN(LEN")) { throw new Exception("error;"); } } private static void TestLength2(SqlSugarClient db) { var par = "aa"; db.Queryable() .Where(it => it.name.ToString().Substring(1, "aa".Length) == "") .ToList(); var sql1 = db.Queryable() .Where(it => it.name.ToString().Substring(1, "aa".Length) == "") .ToSqlString(); if (sql1.Contains("LEN(LEN")) { throw new Exception("error;"); } } private static void TestLength3(SqlSugarClient db) { db.Queryable() .Where(it => it.name.ToString().Substring(1, it.name.Length) == "") .ToList(); var sql1 = db.Queryable() .Where(it => it.name.ToString().Substring(1, it.name.Length) == "") .ToSqlString(); if (sql1.Contains("LEN(LEN")) { throw new Exception("error;"); } } /// /// 描述: /// 作者:synjones /// 时间:2022-04-20 21:30:28 /// [SugarTable("unit_operatorinfo3313")] public partial class OperatorInfo { /// /// 多角色 /// [Navigate(typeof(OptRole), nameof(OptRole.operId), nameof(OptRole.roleId))]//名字换 public List Roles { get; set; } /// /// 主键 /// [SugarColumn(IsPrimaryKey = true)] public string id { get; set; } /// /// 姓名 /// public string realname { get; set; } /// /// 账号 /// public string username { get; set; } /// /// 密码 /// public string pwd { get; set; } /// /// 学号 /// public string sno { get; set; } /// /// openid /// public string openid { get; set; } /// /// 手机号码 /// public string phone { get; set; } /// /// 备注信息 /// public string remark { get; set; } /// /// 创建日期 /// public DateTime createTime { get; set; } /// /// 状态(1:启用,2:禁用) /// public int isDisabled { get; set; } /// /// 是否删除(1:正常;2:删除) /// public int isDel { get; set; } } /// /// 描述: /// 作者:synjones /// 时间:2022-04-20 21:30:28 /// [SugarTable("unit_role13313")] public partial class Role { /// /// 角色 /// [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public long id { get; set; } /// /// 角色名称 /// public string name { get; set; } /// /// 创建时间 /// public DateTime createTime { get; set; } } /// /// 描述: /// 作者:synjones /// 时间:2022-04-21 14:35:09 /// [SugarTable("unit_operator_role3313")] public partial class OptRole { /// /// /// [SugarColumn(IsPrimaryKey = true)] public long id { get; set; } /// /// /// public string operId { get; set; } /// /// /// public int roleId { get; set; } } } }