EF批量新增删除
將逗號分割的內容轉換為list;
舉例:a="1,2,4,45" 分割為1,2,4,45
List<string> list = new List<string>(roleDate.menuid.Split(','));批量新增
//將角色與菜單綁定for (var i = 0; i < list.Count(); i++) {var systemroleclaimsItem = new systemroleclaims(){roleid = id,menuid = list[i]};_context.systemroleclaims.Add(systemroleclaimsItem);}await _context.SaveChangesAsync();批量刪除
List<systemroleclaims> oldMenu = _context.systemroleclaims.Where(n=>n.roleid == roleDate.Roleid).ToList();foreach (var item in oldMenu){_context.systemroleclaims.Remove(item);}_context.SaveChanges();list轉數組
var roles = _context.systemuserroles.Where(P => P.userid == LoginUser.Id).ToList(); //查詢出登陸用戶下的角色idList<System.Int32> listS = new List<System.Int32>();for (var i =0;i<roles.Count();i++) {listS.Add(int.Parse(roles[i].roleid));}int[] str = listS.ToArray(); //list轉數組Linq中實現select * from A where id in(1,2,3,4);重點str.Contains(P.roleid)
int[] str = listS.ToArray(); //list轉數組var menus = _context.systemroleclaims.Where(P=>str.Contains(P.roleid)).ToList(); //查詢出角色對應的菜單權限拼接以逗號分割的字符串,并移除最后一個逗號
string UseridList = "";for (int i = 0; i < datas.Count(); i++){string userid = datas[i]["mainTable"]["xm"].ToString(); //獲取學員id// string phone = datas[i]["mainTable"]["sjhm"].ToString(); //獲取學員idgetUserInfor(userid, roomid, deviceIndexCode); //根據學員id獲取學員信息UseridList += datas[i]["mainTable"]["xm"].ToString() + ','; //拼接學員id}UseridList = UseridList.Substring(0, UseridList.Length - 1); //去除字符串的最后一個","總結
- 上一篇: MeshBaker优化原理
- 下一篇: 使用 rr 进行debug