Class ModelRole
Defines a set of user principals for whom security rules are applied. It is a child of a Model object.
Assembly: TOMWrapper.dll
Syntax
public sealed class ModelRole : TabularNamedObject, ICustomTypeDescriptor, INotifyPropertyChanging, IComparable, IDescriptionObject, IAnnotationObject, IExtendedPropertyObject, IClonableObject, ITabularObjectContainer, ITabularNamedObject, ITabularObject, INotifyPropertyChanged, INamedObject
Properties
Annotations
The collection of Annotations on the current Model Role.
Declaration
[Browsable(true)]
public AnnotationCollection Annotations { get; }
Property Value
Description
The description of the role, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio.
Declaration
public string Description { get; set; }
Property Value
ExtendedProperties
The collection of Extended Properties on the current Model Role.
Declaration
public ExtendedPropertyCollection ExtendedProperties { get; }
Property Value
Members
The collection of ModelRoleMember objects on this ModelRole.
Declaration
public ModelRoleMemberCollection Members { get; }
Property Value
The OLS settings defined for this role
Declaration
[Browsable(true)]
public RoleOLSIndexer MetadataPermission { get; }
Property Value
ModelPermission
The level of access for this role. Possible values are as follows. None (1): The role has no access to the model. Read (2): The role can read metadata and data of the model. ReadRefresh (3): The role has read and refresh permission. Refresh (4): The role can refresh the data and calculations in the model. Administrator (5): The role can administer the model.
Declaration
public ModelPermission ModelPermission { get; set; }
Property Value
Parent
The parent Model of the current Model Role.
Declaration
public Model Parent { get; }
Property Value
RoleMembers
Specify domain/usernames of the members in this role. One member per line. DEPRECATED: Use the Members collection instead.
Declaration
[Browsable(false)]
public string RoleMembers { get; set; }
Property Value
RowLevelSecurity
The RLS settings defined for this role
Declaration
[Browsable(true)]
public RoleRLSIndexer RowLevelSecurity { get; }
Property Value
TablePermissions
The collection of TablePermission objects on this ModelRole.
Declaration
public TablePermissionCollection TablePermissions { get; }
Property Value
Methods
AddExternalMember(string, string)
Adds an Azure AD member to this role.
Declaration
public ExternalModelRoleMember AddExternalMember(string memberName, string memberId = null)
Parameters
Returns
AddOrGetTablePermission(Table)
Declaration
public TablePermission AddOrGetTablePermission(Table table)
Parameters
Type |
Name |
Description |
Table |
table |
|
Returns
AddWindowsMember(string, string)
Adds a Windows AD member to this role.
Declaration
public void AddWindowsMember(string memberName, string memberId = null)
Parameters
ClearAnnotations()
Removes all annotations from this object.
Declaration
public void ClearAnnotations()
ClearExtendedProperties()
Removes all Extended Properties from this object.
Declaration
public void ClearExtendedProperties()
ClearMembers()
Removes all members from this role.
Declaration
public void ClearMembers()
Clone(string)
Creates an exact copy of this ModelRole object.
Declaration
public ModelRole Clone(string newName = null)
Parameters
Type |
Name |
Description |
string |
newName |
|
Returns
CreateNew(Model, string)
Creates a new ModelRole and adds it to the parent Model.
Also creates the underlying metadataobject and adds it to the TOM tree.
Declaration
public static ModelRole CreateNew(Model parent, string name = null)
Parameters
Returns
GetAnnotation(int)
Gets the value of the annotation with the given index, assuming it exists.
Declaration
public string GetAnnotation(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetAnnotation(string)
Gets the value of the annotation with the given name. Returns null if no such annotation exists.
Declaration
public string GetAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetAnnotations()
Gets a collection of all annotation names on the current Model Role.
Declaration
public IEnumerable<string> GetAnnotations()
Returns
GetAnnotationsCount()
Gets the number of annotations on the current Model Role.
Declaration
public int GetAnnotationsCount()
Returns
GetChildren()
Declaration
public IEnumerable<ITabularNamedObject> GetChildren()
Returns
GetExtendedProperties()
Gets a collection of all ExtendedProperty names on the current object.
Declaration
public IEnumerable<string> GetExtendedProperties()
Returns
GetExtendedProperty(int)
Gets the value of the ExtendedProperty with the given index, assuming it exists.
Declaration
public string GetExtendedProperty(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetExtendedProperty(string)
Gets the value of the ExtendedProperty with the given name. Returns null if no such ExtendedProperty exists.
Declaration
public string GetExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetExtendedPropertyCount()
Gets the number of ExtendedProperties on the current object.
Declaration
public int GetExtendedPropertyCount()
Returns
GetExtendedPropertyType(int)
Gets the type of the ExtendedProperty with the given index, assuming it exists.
Declaration
public ExtendedPropertyType GetExtendedPropertyType(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetExtendedPropertyType(string)
Gets the type of the ExtendedProperty with the given name, assuming it exists.
Declaration
public ExtendedPropertyType GetExtendedPropertyType(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetNewAnnotationName()
Returns a unique name for a new annotation.
Declaration
public string GetNewAnnotationName()
Returns
GetNewExtendedPropertyName()
Returns a unique name for a new ExtendedProperty.
Declaration
public string GetNewExtendedPropertyName()
Returns
HasAnnotation(string)
Returns true if an annotation with the given name exists. Otherwise false.
Declaration
public bool HasAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
HasExtendedProperty(string)
Returns true if an ExtendedProperty with the given name exists. Otherwise false.
Declaration
public bool HasExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
Init()
Derived members should override this method to instantiate child objects
Declaration
protected override void Init()
Overrides
RemoveAnnotation(string)
Remove an annotation by the given name.
Declaration
public void RemoveAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
RemoveExtendedProperty(string)
Remove an ExtendedProperty by the given name.
Declaration
public void RemoveExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
SetAnnotation(int, string)
Sets the value of the annotation with the given index, assuming it exists.
Declaration
public void SetAnnotation(int index, string value)
Parameters
SetAnnotation(string, string)
Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed.
Declaration
public void SetAnnotation(string name, string value)
Parameters
SetExtendedProperty(int, string, ExtendedPropertyType)
Sets the value of the ExtendedProperty with the given index, optionally specifiying the type (string or JSON) of the ExtendedProperty.
Declaration
public void SetExtendedProperty(int index, string value, ExtendedPropertyType type)
Parameters
SetExtendedProperty(string, string, ExtendedPropertyType)
Sets the value of the ExtendedProperty having the given name. If no such ExtendedProperty exists, it will be created. If value is set to null, the ExtendedProperty will be removed.
Declaration
public void SetExtendedProperty(string name, string value, ExtendedPropertyType type)
Parameters
Implements
Extension Methods