/// <summary> /// 更新指定角色的权限集合 /// </summary> /// <param name="roleAuthorizationRelation"></param> public void UpdateAuthorizationListByRoleId(RoleAuthorizationRelation roleAuthorizationRelation) { if (roleAuthorizationRelation == null) { Debug.Assert(false, "authorizationWrapper 为空"); return; } List <SqlExpression> sqlList = new List <SqlExpression>(); List <CommandParameter> parameterList = new List <CommandParameter>(); parameterList.Add(new CommandParameter("@role", roleAuthorizationRelation.Role)); SqlExpression deleteSql = new SqlExpression() { Sql = "DELETE FROM [RoleAuthorization] WHERE [Role] = @role" }; deleteSql.ParameterList = _dataBase.CommandParameterToSqlParameter(parameterList); sqlList.Add(deleteSql); foreach (var item in roleAuthorizationRelation.AuthorizationList) { RoleAuthorizationEntity roleAuthorizationr = new RoleAuthorizationEntity(); roleAuthorizationr.Domain = roleAuthorizationRelation.Domain; roleAuthorizationr.Role = roleAuthorizationRelation.Role; roleAuthorizationr.AuthorizationKey = item.Key; sqlList.Add(RelationalMappingUnity.GetSqlExpression( roleAuthorizationr, SqlExpressionType.Insert)); } _dataBase.ExcuteSqlExpression(sqlList); }