以字符串数组的形式获取多维数据集的所有角色名称

时间:2014-05-12 14:11:10

标签: c# permissions ssas roles olap-cube

在AMO(应用程序管理对象)的帮助下,能够找到一个解决方案,用c#代码清除多维数据集中特定角色的成员。 我使用的简单代码是:

Role role = new Role();
role = db.Roles.FindByName("roleName1");
role.Members.Clear();
role.Update()

现在我似乎有一种情况。我之前不知道我在“FindByName”函数中传递的roleName参数。 我以前不知道RoleName。 任何想法,以便如何获得立方体的角色名称?

2 个答案:

答案 0 :(得分:0)

您可以使用

foreach(Role role in db.Roles) {
    if(<some condition, possibly using properties like role.Name>) {
        role.Members.Clear();
        role.Update();
    }
}

您可以在此处找到Role课程的属性和方法:http://msdn.microsoft.com/en-us/library/microsoft.analysisservices.role.aspx

答案 1 :(得分:0)

最后得到了:)

foreach (Microsoft.AnalysisServices.Role CubeDbRole in db.Roles)
{
string Rolename = CubeDbRole.Name;
MessageBox.Show(Rolename);
CubeDbRole.Members.Clear();
CubeDbRole.Update();
foreach (Microsoft.AnalysisServices.RoleMember CubeRoleMember in CubeDbRole.Members)
{
//In case you want to display members
 MessageBox.Show(CubeRoleMember);
    } 
} 

谢谢:)