Share via


ObjectSet Class

The ObjectSet object represents a policy-based management set of objects.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Sdk.Sfc.SfcInstance
    Microsoft.SqlServer.Management.Dmf.ObjectSet

Namespace:  Microsoft.SqlServer.Management.Dmf
Assembly:  Microsoft.SqlServer.Dmf (in Microsoft.SqlServer.Dmf.dll)

Syntax

'Declaration
<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey := "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")> _
Public NotInheritable Class ObjectSet _
    Inherits SfcInstance _
    Implements ISfcCreatable, ICreatable, ISfcDroppable, IDroppable,  _
    ISfcAlterable, IAlterable, ISfcValidate
'Usage
Dim instance As ObjectSet
[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
public sealed class ObjectSet : SfcInstance, 
    ISfcCreatable, ICreatable, ISfcDroppable, IDroppable, ISfcAlterable, 
    IAlterable, ISfcValidate
[StrongNameIdentityPermissionAttribute(SecurityAction::LinkDemand, PublicKey = L"0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
public ref class ObjectSet sealed : public SfcInstance, 
    ISfcCreatable, ICreatable, ISfcDroppable, IDroppable, ISfcAlterable, 
    IAlterable, ISfcValidate
[<SealedAttribute>]
[<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")>]
type ObjectSet =  
    class 
        inherit SfcInstance 
        interface ISfcCreatable 
        interface ICreatable 
        interface ISfcDroppable 
        interface IDroppable 
        interface ISfcAlterable 
        interface IAlterable 
        interface ISfcValidate 
    end
public final class ObjectSet extends SfcInstance implements ISfcCreatable, ICreatable, ISfcDroppable, IDroppable, ISfcAlterable, IAlterable, ISfcValidate

The ObjectSet type exposes the following members.

Constructors

  Name Description
Public method ObjectSet() Initializes a new instance of the ObjectSet class.
Public method ObjectSet(PolicyStore, String) Initializes a new instance of the ObjectSet class that has the specified parent policy store and the specified name.

Top

Properties

  Name Description
Protected property AbstractIdentityKey Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Public property Facet Gets or sets the facet value for the object set.
Public property ID Gets the ID value that uniquely identifies the object set.
Public property IdentityKey Gets the SfcKey object.
Public property IsSystemObject Determines whether the ObjectSet is a Object.
Public property Metadata Returns metadata about the instance and its domain. (Inherited from SfcInstance.)
Public property Name Gets the name of the object set.
Public property Parent Gets or sets the parent of the ObjectSet object.
Public property Properties Returns a collection instance properties. (Inherited from SfcInstance.)
Protected property State Returns the state of the SfcInstance object. (Inherited from SfcInstance.)
Public property TargetSets Gets the TargetSetCollection.
Public property Urn Returns the uniform resource name of the SfcInstance object. (Inherited from SfcInstance.)

Top

Methods

  Name Description
Public method Alter Alters the definition of an ObjectSet created previously.
Public method CalculateTargets(ISfcConnection) Calculates an expression with results applied to the targets.
Public methodStatic member CalculateTargets(ISfcConnection, SfcQueryExpression) Calculates an expression with results applied to the targets.
Public method CalculateTargets(SqlStoreConnection, String) Calculates an expression with results applied to the targets.
Public method CalculateTargets(SqlStoreConnection, Condition, AdHocPolicyEvaluationMode, String, array<Object[]%, array<TargetEvaluation[]%) Calculates an expression with results applied to the targets.
Public method Create Creates an ObjectSet without parent.
Protected method CreateIdentityKey Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Public method Discover Discovers an ObjectSet and adds it to the sink object identified by the parameter. (Overrides SfcInstance.Discover(ISfcDependencyDiscoveryObjectSink).)
Public method Drop Drops an ObjectSet.
Public method Equals (Inherited from Object.)
Protected method GetChildCollection Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Public method GetDomain Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Public method GetHashCode (Inherited from Object.)
Public methodStatic member GetObjectFactory Gets the object factory.
Public method GetPropertySet Returns the set of properties for the SfcInstance object. (Inherited from SfcInstance.)
Public method GetType (Inherited from Object.)
Protected method GetTypeMetadataImpl Indicates the domains that override by returning the right TypeMetadata class directly. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Protected method InitializeUIPropertyState Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Protected method OnPropertyMetadataChanges Invoked whenever the effective value of any SfcInstance metadata is updated. (Inherited from SfcInstance.)
Protected method OnPropertyValueChanges Invoked whenever the effective value of any SfcInstance property is updated. (Inherited from SfcInstance.)
Public method Refresh Refreshes the object's properties by reading them from the server. (Inherited from SfcInstance.)
Protected method ResetKey Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SfcInstance.)
Public method ScriptAlter Alters a previously created ISfcScript object.
Public method ScriptCreate Creates a ISfcScript object.
Public method ScriptDrop Drops an ISfcScript object.
Public method Serialize Serializes the instance to XML. (Inherited from SfcInstance.)
Public method SetFacetWithDomain Sets a facet on the ObjectSet with an ISfcDomain object specified by the domain parameter.
Public method ToString Returns a string representation of the instance Urn. (Inherited from SfcInstance.)
Public method Validate Validates the ObjectSet object.

Top

Events

  Name Description
Public event PropertyChanged CLS-compliant event for property changes. (Inherited from SfcInstance.)
Public event PropertyMetadataChanged CLS-compliant event for property metadata changes. (Inherited from SfcInstance.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method ISfcValidate.Validate Validates an ObjectSet.

Top

Remarks

A target object set is the resulting set of target objects after applying a filter to an instance of SQL Server. Using a Filter object, you can create a Urn object which you can use to create an XPath expression. The XPath expression can be used to specify a skeleton XPath expression which filters the target objects out of the object set.

Examples

C#

SFC.Urn urn = new SFC.Urn(filter);
SFC.XPathExpression xpe = urn.XPathExpression;

string ts_skeleton = urn.XPathExpression.ExpressionSkeleton;
ObjectSet os = new ObjectSet(p.Parent, p.Name + "ObjectSet");
os.Facet = p.Parent.Conditions[p.Condition].Facet;
TargetSet ts = os.TargetSets[ts_skeleton];
ts.Enabled = true;
for (int i = 1; i < xpe.Length; i++)
{
   if (null != xpe[i].Filter)
   {
      string skeleton = urn.XPathExpression.BlockExpressionSkeleton(i);
      TargetSetLevel cr = ts.GetLevel(skeleton);

      ExpressionNode expr = ExpressionNode.ConvertFromFilterNode(xpe[i].Filter);
      Condition c = ConditionObject.Create(p.Parent, cr.TargetType.Name, expr);
      ts.SetLevelCondition(cr, c.Name);
   }
}
os.Create();
p.ObjectSet = os.Name;

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SqlServer.Management.Dmf Namespace