using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; namespace OrmTest { internal class UnitManyToManyadfafa { public static void Init() { var db = NewUnitTest.Db; db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); db.Insertable(new OperatorInfo() { id = "1", createTime = DateTime.Now, isDel = 1, isDisabled = 1, openid = "", phone = "", pwd = "", realname = "a01", remark = "a", sno = "a", username = "a01" }).ExecuteCommand(); db.Insertable(new OperatorInfo() { id = "2", createTime = DateTime.Now, isDel = 1, isDisabled = 1, openid = "", phone = "", pwd = "", realname = "a01", remark = "a", sno = "a", username = "admin" }).ExecuteCommand(); db.Insertable(new OperatorInfo() { id = "3", createTime = DateTime.Now, isDel = 1, isDisabled = 1, openid = "", phone = "", pwd = "", realname = "a01", remark = "a", sno = "a", username = "admin" }).ExecuteCommand(); var id = db.Insertable(new Role() { id2 = 1, createTime = DateTime.Now, name = "admin" }).ExecuteReturnIdentity(); var id2 = db.Insertable(new Role() { id2 = 2, createTime = DateTime.Now, name = "admin" }).ExecuteReturnIdentity(); db.Insertable(new OptRole() { operId = "1", roleId = 1 }).ExecuteCommand(); db.Insertable(new OptRole() { id = 2, operId = "2", roleId = 2 }).ExecuteCommand(); var list1 = db.Queryable() .Includes(x => x.Roles) .ToList(); var list2 = db.Queryable() .Includes(x => x.Roles).Where(x => x.Roles.Any()).ToList(); if (list1.First().Roles.Count == 0) { throw new Exception("error"); } if (list2.First().Roles.Count == 0) { throw new Exception("error"); } } /// /// 描述: /// 作者:synjones /// 时间:2022-04-20 21:30:28 /// [SugarTable("unit_operatorinfofsss2")] public partial class OperatorInfo { [Navigate(typeof(OptRole), nameof(OptRole.operId), nameof(OptRole.roleId), nameof(OperatorInfo.id), nameof(Role.id2))]//名字换 public List Roles { get; set; } 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_role1fsss2")] public partial class Role { public int id2 { get; set; } /// /// 角色名称 /// public string name { get; set; } /// /// 创建时间 /// public DateTime createTime { get; set; } } /// /// 描述: /// 作者:synjones /// 时间:2022-04-21 14:35:09 /// [SugarTable("unit_operator_rolefsss2")] public partial class OptRole { [SugarColumn(IsPrimaryKey =true,IsIdentity =true)] public int id { get; set; } /// /// /// public string operId { get; set; } /// /// /// public int roleId { get; set; } } } }