Click here to Skip to main content
15,894,539 members
Articles / Hosted Services / Azure

DataObjects.Net - ORM Framework for RAD - Introduction

Rate me:
Please Sign up or sign in to vote.
4.85/5 (15 votes)
7 Sep 2010CPOL11 min read 50.1K   1.1K   32  
Introduction into the ORM Framework DataObjects.Net from x-tensive
<?xml version="1.0"?>
<doc>
  <assembly>
    <name>Xtensive.Modelling</name>
  </assembly>
  <members>
    <member name="T:Xtensive.Modelling.Actions.ActionHandler">
      <summary>
            An abstract base class for any <see cref="T:Xtensive.Modelling.Actions.IActionHandler" /> implementor.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.IActionHandler">
      <summary>
            Action handler contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionHandler.Execute(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Executes the specified action.
            </summary>
      <param name="action">The action to execute.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionHandler.Execute(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Executes the specified action.
            </summary>
      <param name="action">The action to execute.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionHandler.Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.Actions.ActionHandlerScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionHandler.Xtensive#Core#IoC#IContext#Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.Actions.ActionHandlerScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionHandler.Current">
      <summary>
            Gets the current <see cref="T:Xtensive.Modelling.Actions.ActionHandler" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionHandler.IsActive">
      <summary>
            Indicates whether current context is active.
            </summary>
      <seealso cref="M:Xtensive.Core.IoC.IContext.Activate" />
    </member>
    <member name="T:Xtensive.Modelling.Actions.ActionHandlerScope">
      <summary>
        <see cref="T:Xtensive.Modelling.Actions.ActionHandler" /> activation scope.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionHandlerScope.#ctor(Xtensive.Modelling.Actions.ActionHandler)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Actions.ActionHandlerScope" /> class.
            </summary>
      <param name="context">The context.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionHandlerScope.CurrentHandler">
      <summary>
            Gets the current <see cref="T:Xtensive.Modelling.Actions.ActionHandler" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionHandlerScope.Handler">
      <summary>
            Gets the associated <see cref="T:Xtensive.Modelling.Actions.ActionHandler" />.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.ActionScope">
      <summary>
            Defines the scope for the single action.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionScope.Commit">
      <exception cref="T:System.InvalidOperationException">
        <see cref="P:Xtensive.Modelling.Actions.ActionScope.Action" /> is not initialized.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionScope.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Actions.ActionScope" /> class.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionScope.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
      <filterpriority>2</filterpriority>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionScope.IsCommitted">
      <summary>
            Gets or sets a value indicating whether this instance is committed.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionScope.IsCommittable">
      <summary>
            Gets a value indicating whether this scope is committable (i.e. its 
            <see cref="P:Xtensive.Modelling.Actions.ActionScope.Action" /> will be added to <see cref="P:Xtensive.Modelling.Actions.ActionScope.Sequence" /> after
            <see cref="M:Xtensive.Modelling.Actions.ActionScope.Commit" /> and <see cref="M:Xtensive.Modelling.Actions.ActionScope.Dispose" /> calls).
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionScope.Sequence">
      <summary>
            Gets the sequence this instance is created for.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionScope.Action">
      <summary>
            Gets or sets the action this instance commits.
            </summary>
      <exception cref="T:System.NotSupportedException">
        <see cref="M:Xtensive.Modelling.Actions.ActionScope.Commit" /> method is already called.</exception>
    </member>
    <member name="T:Xtensive.Modelling.Actions.DataAction">
      <summary>
            Change data action.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.NodeAction">
      <summary>
            Abstract base class for any node action.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.INodeAction">
      <summary>
            Node action contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.INodeAction.Execute(Xtensive.Modelling.IModel)">
      <summary>
            Applies the action to the specified model.
            </summary>
      <param name="model">The model to apply the action to.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.INodeAction.Path">
      <summary>
            Gets or sets the path of the node this action is applied to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.INodeAction.Difference">
      <summary>
            Gets or sets the difference this action is created for.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)">
      <summary>
            Applies the action to the specified model.
            </summary>
      <param name="model">The model to apply the action to.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.EscapeName(System.String)">
      <summary>
            Escapes the name in path.
            </summary>
      <param name="name">The name to escape.</param>
      <returns>Escaped name.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.GetActionName">
      <summary>
            Gets the name of the action for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The name of the action.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.GetParameters(System.Collections.Generic.List{Xtensive.Core.Pair{System.String}})">
      <summary>
            Gets the parameters for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The sequence of parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.GetNestedActions">
      <summary>
            Gets the sequence of nested actions for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting, if any.
            </summary>
      <returns>The sequence of nested actions.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NodeAction.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Actions.NodeAction" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.NodeAction.Path">
      <summary>
            Gets or sets the path of the node this action is applied to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.NodeAction.Difference">
      <summary>
            Gets or sets the difference this action is created for.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.DataAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.DataAction.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="P:Xtensive.Modelling.Actions.DataAction.DataHint">
      <summary>
            Gets or sets the data hint described data operation.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.GroupingNodeAction">
      <summary>
            A grouping node action.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.Add(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Adds the specified action to the <see cref="P:Xtensive.Modelling.Actions.GroupingNodeAction.Actions" /> sequence.
            </summary>
      <param name="action">The action to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.Flatten">
      <summary>
            Flattens all the <see cref="T:Xtensive.Modelling.Actions.GroupingNodeAction" />s from <see cref="P:Xtensive.Modelling.Actions.GroupingNodeAction.Actions" /> sequence.
            </summary>
      <returns>Flattened sequence of nested actions.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.GetParameters(System.Collections.Generic.List{Xtensive.Core.Pair{System.String}})">
      <summary>
            Gets the parameters for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The sequence of parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.GetNestedActions">
      <summary>
            Gets the sequence of nested actions for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting, if any.
            </summary>
      <returns>The sequence of nested actions.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.GroupingNodeAction.Lock(System.Boolean)">
      <summary>
            Locks the instance and (possibly) all dependent objects.
            </summary>
      <param name="recursive">
        <see langword="True" /> if all dependent objects should be locked as well.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.GroupingNodeAction.Comment">
      <summary>
            Gets or sets the comment.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.GroupingNodeAction.Actions">
      <summary>
            Gets the list of nested actions.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.NullActionHandler">
      <summary>
            An <see cref="T:Xtensive.Modelling.Actions.ActionHandler" /> that does nothing.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.NullActionHandler.Execute(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Executes the specified action.
            </summary>
      <param name="action">The action to execute.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.NullActionHandler.Instance">
      <summary>
            Gets the only instance of this class.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.PropertyChangeAction">
      <summary>
            Property change action.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PropertyChangeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PropertyChangeAction.GetParameters(System.Collections.Generic.List{Xtensive.Core.Pair{System.String}})">
      <summary>
            Gets the parameters for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The sequence of parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PropertyChangeAction.Lock(System.Boolean)">
      <summary>
            Locks the instance and (possibly) all dependent objects.
            </summary>
      <param name="recursive">
        <see langword="True" /> if all dependent objects should be locked as well.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.PropertyChangeAction.Properties">
      <summary>
            Gets or sets the properties.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.MoveNodeAction">
      <summary>
            Any kinds of node movement (parent changed, name changed or index changed).
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.MoveNodeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <exception cref="T:System.InvalidOperationException">Required constructor isn't found.</exception>
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.MoveNodeAction.GetParameters(System.Collections.Generic.List{Xtensive.Core.Pair{System.String}})">
      <summary>
            Gets the parameters for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The sequence of parameters.</returns>
    </member>
    <member name="P:Xtensive.Modelling.Actions.MoveNodeAction.Parent">
      <summary>
            Gets or sets the node parent path.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.MoveNodeAction.Name">
      <summary>
            Gets or sets the node name.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.MoveNodeAction.Index">
      <summary>
            Gets or sets the node index.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.MoveNodeAction.NewPath">
      <summary>
            Gets or sets the new node path.
            </summary>
      <value>The new path.</value>
    </member>
    <member name="T:Xtensive.Modelling.Actions.CreateNodeAction">
      <summary>
            Describes node creation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.CreateNodeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <exception cref="T:System.InvalidOperationException">Required constructor isn't found.</exception>
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.CreateNodeAction.TryConstructor(Xtensive.Modelling.IModel,System.Object[])">
      <summary>
            Tries to invoke node constructor with the specified set of arguments.
            </summary>
      <param name="model">The model to pass as the first argument.</param>
      <param name="arguments">The other arguments.</param>
      <returns>Created node, if the constructor was successfully bound;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.CreateNodeAction.GetParameters(System.Collections.Generic.List{Xtensive.Core.Pair{System.String}})">
      <summary>
            Gets the parameters for <see cref="M:Xtensive.Modelling.Actions.NodeAction.ToString" /> formatting.
            </summary>
      <returns>The sequence of parameters.</returns>
    </member>
    <member name="P:Xtensive.Modelling.Actions.CreateNodeAction.Type">
      <summary>
            Gets or sets the node type.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.CreateNodeAction.Name">
      <summary>
            Gets or sets the node name.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.CreateNodeAction.Index">
      <summary>
            Gets or sets the node index.
            </summary>
      <value>The index.</value>
    </member>
    <member name="P:Xtensive.Modelling.Actions.CreateNodeAction.Parameters">
      <summary>
            Gets or sets the parameters.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.IActionSequence">
      <summary>
        <see cref="T:Xtensive.Modelling.Actions.NodeAction" /> sequence contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionSequence.LogAction">
      <summary>
            Appends a new action to this sequence.
            </summary>
      <returns>An <see cref="T:Xtensive.Modelling.Actions.ActionScope" /> object allowing to append it.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionSequence.Add(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Adds the specified action to the sequence.
            </summary>
      <param name="action">The action to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionSequence.Add(System.Collections.Generic.IEnumerable{Xtensive.Modelling.Actions.NodeAction})">
      <summary>
            Adds the specified action sequence to the sequence.
            </summary>
      <param name="actions">The sequence of actions to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionSequence.Apply(Xtensive.Modelling.IModel)">
      <summary>
            Applies all the actions from the sequence to specified model.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.IActionSequence.Flatten">
      <summary>
            Flattens all the <see cref="T:Xtensive.Modelling.Actions.GroupingNodeAction" />s from this instance.
            </summary>
      <returns>Flattened action sequence.</returns>
    </member>
    <member name="P:Xtensive.Modelling.Actions.IActionSequence.CurrentScope">
      <summary>
            Gets the current action scope.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.ActionSequence">
      <summary>
        <see cref="T:Xtensive.Modelling.Actions.NodeAction" /> sequence implementation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.LogAction">
      <summary>
            Appends a new action to this sequence.
            </summary>
      <returns>An <see cref="T:Xtensive.Modelling.Actions.ActionScope" /> object allowing to append it.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.Add(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Adds the specified action to the sequence.
            </summary>
      <param name="action">The action to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.Add(System.Collections.Generic.IEnumerable{Xtensive.Modelling.Actions.NodeAction})">
      <summary>
            Adds the specified action to the sequence.
            </summary>
      <param name="action">The action to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.Apply(Xtensive.Modelling.IModel)">
      <summary>
            Applies all the actions from the sequence to specified model.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.Flatten">
      <summary>
            Flattens all the <see cref="T:Xtensive.Modelling.Actions.GroupingNodeAction" />s from this instance.
            </summary>
      <returns>Flattened action sequence.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.System#Collections#IEnumerable#GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.ActionSequence.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Actions.ActionSequence" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Actions.ActionSequence.CurrentScope">
      <summary>
            Gets the current action scope.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.PathNodeReference">
      <summary>
            Path node reference.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.Get(System.Object)">
      <summary>
            Gets the <see cref="T:Xtensive.Modelling.Actions.PathNodeReference" /> to the specified source,
            if the source is <see cref="T:Xtensive.Modelling.IPathNode" />;
            otherwise, returns <paramref name="source" />.
            </summary>
      <param name="source">The source.</param>
      <returns>
        <see cref="T:Xtensive.Modelling.Actions.PathNodeReference" /> to the specified source,
            if the source is <see cref="T:Xtensive.Modelling.IPathNode" />;
            otherwise, returns <paramref name="source" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.Resolve(Xtensive.Modelling.IModel,System.Object)">
      <summary>
            Resolves the specified object (possibly <see cref="T:Xtensive.Modelling.Actions.PathNodeReference" />).
            Reverts the effect of <see cref="M:Xtensive.Modelling.Actions.PathNodeReference.Get(System.Object)" /> method.
            </summary>
      <param name="model">The model.</param>
      <param name="source">The object to resolve.</param>
      <returns>Either original object, or
            resolved <see cref="T:Xtensive.Modelling.Actions.PathNodeReference" /> (<see cref="T:Xtensive.Modelling.IPathNode" />)</returns>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.Equals(Xtensive.Modelling.Actions.PathNodeReference)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
                </returns>
      <param name="obj">
                    An object to compare with this object.
                </param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.Equals(System.Object)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
                </returns>
      <param name="obj">
                    An object to compare with this object.
                </param>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.op_Equality(Xtensive.Modelling.Actions.PathNodeReference,Xtensive.Modelling.Actions.PathNodeReference)">
      <inheritdoc />
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.op_Inequality(Xtensive.Modelling.Actions.PathNodeReference,Xtensive.Modelling.Actions.PathNodeReference)">
      <inheritdoc />
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Actions.PathNodeReference.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Actions.PathNodeReference" /> class.
            </summary>
      <param name="path">The <see cref="P:Xtensive.Modelling.Actions.PathNodeReference.Path" /> value.</param>
    </member>
    <member name="P:Xtensive.Modelling.Actions.PathNodeReference.Path">
      <summary>
            Gets the path to the node.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Actions.RemoveNodeAction">
      <summary>
            Describes node removal.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Actions.RemoveNodeAction.PerformExecute(Xtensive.Modelling.IModel,Xtensive.Modelling.IPathNode)">
      <summary>
            Actually executed <see cref="M:Xtensive.Modelling.Actions.NodeAction.Execute(Xtensive.Modelling.IModel)" /> method call.
            </summary>
      <param name="model">The model.</param>
      <param name="item">
        <see cref="P:Xtensive.Modelling.Actions.NodeAction.Path" /> resolution result.</param>
    </member>
    <member name="T:Xtensive.Modelling.Attributes.DataDependentAttribute">
      <summary>
            Data dependent node marker.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Attributes.SystemPropertyAttribute">
      <summary>
            System property marker.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Attributes.SystemPropertyAttribute.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Attributes.SystemPropertyAttribute" /> class.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Attributes.PropertyAttribute">
      <summary>
            Node property marker.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.Priority">
      <summary>
            Gets or sets the comparison \ modification priority.
            The lower priority the less dependent property is.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.IgnoreInComparison">
      <summary>
            Gets or sets a value indicating whether underlying property must be ignored in comparison.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.CaseInsensitiveComparison">
      <summary>
            Gets or sets a value indicating whether property values are compared case insensitively.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.IsImmutable">
      <summary>
            Gets or sets a value indicating whether underlying property value must be re-created
            rather than created &amp; processed as usual.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.IsVolatile">
      <summary>
            Gets or sets a value indicating whether underlying property must be 
            ignored during recreation of parent atomic property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.RecreateParent">
      <summary>
            Gets or sets a value indicating whether property owner should be recreated on property value change.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Attributes.PropertyAttribute.DependencyRootType">
      <summary>
            Gets or sets the dependency root type.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Comparer">
      <summary>
            Implementation of <see cref="T:Xtensive.Modelling.Comparison.IComparer" /> for <see cref="T:Xtensive.Modelling.Node" /> comparison.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IComparer">
      <summary>
            Compares two models.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.IComparer.Compare(Xtensive.Modelling.IModel,Xtensive.Modelling.IModel,Xtensive.Modelling.Comparison.Hints.HintSet)">
      <summary>
            Gets the difference between <paramref name="source" /> 
            and <paramref name="target" /> models.
            </summary>
      <param name="source">The source model.</param>
      <param name="target">The target model.</param>
      <param name="hints">The comparison hints.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> models;
            <see langword="null" />, if none.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.IComparer.Compare(Xtensive.Modelling.IModel,Xtensive.Modelling.IModel)">
      <summary>
            Gets the difference between <paramref name="source" /> 
            and <paramref name="target" /> models.
            </summary>
      <param name="source">The source model.</param>
      <param name="target">The target model.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> models;
            <see langword="null" />, if none.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.Compare(Xtensive.Modelling.IModel,Xtensive.Modelling.IModel)">
      <summary>
            Gets the difference between <paramref name="source" /> 
            and <paramref name="target" /> models.
            </summary>
      <param name="source">The source model.</param>
      <param name="target">The target model.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> models;
            <see langword="null" />, if none.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.Compare(Xtensive.Modelling.IModel,Xtensive.Modelling.IModel,Xtensive.Modelling.Comparison.Hints.HintSet)">
      <exception cref="T:System.ArgumentOutOfRangeException">
        <c>hints.SourceModel</c> or <c>hints.TargetModel</c>
            is out of range.</exception>
      <summary>
            Gets the difference between <paramref name="source" /> 
            and <paramref name="target" /> models.
            </summary>
      <param name="source">The source model.</param>
      <param name="target">The target model.</param>
      <param name="hints">The comparison hints.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> models;
            <see langword="null" />, if none.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.Visit(System.Object,System.Object)">
      <summary>
            Visitor dispatcher.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> objects.
            <see langword="null" />, if they're equal.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.Visit(System.Type,System.Object,System.Object)">
      <summary>
            Visitor dispatcher.
            </summary>
      <param name="type">The type.</param>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> objects.
            <see langword="null" />, if they're equal.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.VisitNode(Xtensive.Modelling.Node,Xtensive.Modelling.Node)">
      <summary>
            Visits specified <see cref="T:Xtensive.Modelling.Node" /> objects.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>
            Difference between <paramref name="source" />
            and <paramref name="target" /> objects.
            <see langword="null" />, if they're equal.
            </returns>
      <exception cref="T:System.InvalidOperationException">Both source and target are <see langword="null" />.</exception>
      <exception cref="T:System.NullReferenceException">Current difference is not <see cref="T:Xtensive.Modelling.Comparison.NodeDifference" />.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.BuildMovementInfo(Xtensive.Modelling.Node,Xtensive.Modelling.Node)">
      <summary>
            Builds the <see cref="T:Xtensive.Modelling.Comparison.MovementInfo" /> by specific source and target nodes.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>Movement info.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.CompareProperties(Xtensive.Modelling.Node,Xtensive.Modelling.Node,Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Compares source and target node properties.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <param name="difference">The difference.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetReferencedPropertyDifference(System.Object,System.Object,Xtensive.Modelling.Node,System.String)">
      <summary>
            Gets the referenced property difference.
            </summary>
      <param name="sourceValue">The source value.</param>
      <param name="targetValue">The target value.</param>
      <param name="target">The target.</param>
      <param name="property">The property.</param>
      <returns>Difference.</returns>
      <exception cref="T:System.InvalidOperationException">
        <c>InvalidOperationException</c>.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetPropertyDifferences(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Gets the property differences for each property of type <see cref="T:Xtensive.Modelling.Node" /> or <see cref="T:Xtensive.Modelling.NodeCollection" />.
            </summary>
      <param name="difference">The difference.</param>
      <returns>Property differences set.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.VisitNodeCollection(Xtensive.Modelling.NodeCollection,Xtensive.Modelling.NodeCollection)">
      <summary>
            Visits specified <see cref="T:Xtensive.Modelling.NodeCollection" /> objects.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> objects.
            <see langword="null" />, if they're equal.</returns>
      <exception cref="T:System.InvalidOperationException">Both source and target are <see langword="null" />.</exception>
      <exception cref="T:System.NullReferenceException">Current difference is not <see cref="T:Xtensive.Modelling.Comparison.NodeCollectionDifference" />.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.VisitObject(System.Object,System.Object)">
      <summary>
            Visits specified objects.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>Difference between <paramref name="source" /> 
            and <paramref name="target" /> objects.
            <see langword="null" />, if they're equal.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.IsReference(System.Object,System.Object)">
      <summary>
            Determines whether the specified source is reference.
            </summary>
      <param name="source">The source.</param>
      <param name="target">The target.</param>
      <returns>
        <see langword="true" /> if the specified source is reference; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.IsRelocated(Xtensive.Modelling.Comparison.Difference)">
      <summary>
            Determines whether the specified difference is relocated.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
        <see langword="true" /> if the specified difference is relocated; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.HasChangedNodeProperties(Xtensive.Modelling.Comparison.Difference)">
      <summary>
            Determines whether difference contains node property 
            with <see cref="T:Xtensive.Modelling.Comparison.MovementInfo" /> equals to <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Changed" />.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
        <see langword="true" /> if difference contains changed node properties; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.HasChanges(Xtensive.Modelling.Comparison.Difference,System.Boolean,System.Boolean)">
      <summary>
            Determines whether difference contains node property 
            with <see cref="T:Xtensive.Modelling.Comparison.MovementInfo" /> equals to <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Changed" />.
            </summary>
      <param name="difference">The difference.</param>
      <param name="isDataDependent">
      </param>
      <param name="propertyOwnerIsImmutable">
      </param>
      <returns>
        <see langword="true" /> if difference contains changed node properties; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.IsDependOnData(Xtensive.Modelling.Node)">
      <summary>
            Determines whether specified node is depend on data changing.
            </summary>
      <param name="node">The node.</param>
      <returns>
        <see langword="true" /> if node is depend on data changing; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.IsImmutable(Xtensive.Modelling.Node)">
      <summary>
            Determines whether specified node is immutable.
            </summary>
      <returns>
        <see langword="true" /> if the specified node is immutable; 
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetNodeComparisonKey(Xtensive.Modelling.Node)">
      <summary>
            Extracts the comparison key, that used to find associations 
            between old and new <see cref="T:Xtensive.Modelling.NodeCollection" /> items.
            </summary>
      <param name="node">The node to get the comparison key for.</param>
      <returns>Comparison key for the specified node.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.HasDependencies(Xtensive.Modelling.Node)">
      <summary>
            Determines whether the specified node has dependencies 
            and must be removed on <see cref="F:Xtensive.Modelling.Comparison.UpgradeStage.Cleanup" />.
            </summary>
      <param name="source">The source node.</param>
      <returns>
        <see langword="true" /> if the specified source has dependencies; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.HasDataChangeHint(Xtensive.Modelling.Node)">
      <summary>
            Determines whether <see cref="P:Xtensive.Modelling.Comparison.Comparer.Hints" /> contains data change hints.
            </summary>
      <param name="source">The source node.</param>
      <returns>
        <see langword="true" /> if data change hints exists; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.IsIgnored(System.Object)">
      <summary>
            Determines whether the specified value must be ignored in comparison.
            </summary>
      <param name="value">The value.</param>
      <returns>
        <see langword="true" /> if the specified value must be ignored; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.TryActivate``1(``0,``0,System.Func{``0,``0,Xtensive.Modelling.Comparison.Difference})">
      <summary>
            Tries to create the new <see cref="T:Xtensive.Modelling.Comparison.ComparisonContext" /> 
            for the specified <paramref name="source" />
            and <paramref name="target" /> objects and activate it.
            </summary>
      <typeparam name="T">The type of <paramref name="source" /> and <paramref name="target" /> objects.</typeparam>
      <param name="source">The source object to compare.</param>
      <param name="target">The target object to compare.</param>
      <param name="differenceGenerator">The difference generator.</param>
      <returns>A disposable object deactivating the context, if it was activated;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.CreateContext">
      <summary>
            Creates new comparison context.
            </summary>
      <returns>Newly created <see cref="T:Xtensive.Modelling.Comparison.ComparisonContext" /> instance.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetTargetPath(Xtensive.Modelling.Node)">
      <summary>
            Gets the path of the target node.
            </summary>
      <param name="source">The source node.</param>
      <returns>The path of the target node.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetTargetName(Xtensive.Modelling.Node)">
      <summary>
            Gets the name of the target node.
            </summary>
      <param name="source">The source node.</param>
      <returns>The name of the target node.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Comparer.GetCommonBase(System.Object,System.Object)">
      <summary>
            Gets the highest common base type.
            </summary>
      <param name="source">The source object.</param>
      <param name="target">The target object.</param>
      <returns>The highest common base type.</returns>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Current">
      <summary>
            Gets the current comparer.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Context">
      <summary>
            Gets the current comparison context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Source">
      <summary>
            Gets the source model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Target">
      <summary>
            Gets the target model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Hints">
      <summary>
            Gets the comparison hints.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Results">
      <summary>
            Gets the dictionary of all already found differences of objects
            from <see cref="P:Xtensive.Modelling.Comparison.Comparer.Source" /> and <see cref="P:Xtensive.Modelling.Comparison.Comparer.Target" /> models.
            Maps objects from both <see cref="P:Xtensive.Modelling.Comparison.Comparer.Source" /> and <see cref="P:Xtensive.Modelling.Comparison.Comparer.Target" />
            to their <see cref="T:Xtensive.Modelling.Comparison.Difference" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Comparer.Stage">
      <summary>
            Gets the current comparison stage.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.ComparisonContext">
      <summary>
            Holds current state of the <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.Comparer" />.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ComparisonContext.GetParentDifferenceContext``1">
      <summary>
            Gets the nearest <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.ParentDifferenceContext" /> where
            <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.Difference" /> is of type <typeparamref name="T" />.
            </summary>
      <typeparam name="T">Type of the <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.Difference" /> to search for.</typeparam>
      <returns>
            The nearest <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.Parent" /> of type <typeparamref name="T" />, if found;
            otherwise, <see langword="null" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ComparisonContext.Activate">
      <summary>
            Activates this instance.
            </summary>
      <returns>A disposable object deactivating it.</returns>
      <exception cref="T:System.InvalidOperationException">Invalid context activation sequence.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ComparisonContext.Activate(System.Boolean)">
      <summary>
            Activates this instance.
            </summary>
      <param name="safely">If <see langword="true" />,
            a check that <see cref="P:Xtensive.Modelling.Comparison.ComparisonContext.Parent" /> is active must be performed.</param>
      <returns>A disposable object deactivating it.</returns>
      <exception cref="T:System.InvalidOperationException">Invalid context activation sequence.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ComparisonContext.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.ComparisonContext" /> class.
            </summary>
      <exception cref="T:System.InvalidOperationException">No current Comparer.</exception>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ComparisonContext.Comparer">
      <summary>
            Gets the comparer this context is created for.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ComparisonContext.Parent">
      <summary>
            Gets the parent comparison context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ComparisonContext.ParentDifferenceContext">
      <summary>
            Gets the parent difference comparison context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ComparisonContext.Difference">
      <summary>
            Gets or sets the currently processed difference.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ComparisonContext.PropertyAccessor">
      <summary>
            Gets or sets the currently processed property accessor.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.CopyDataHint">
      <summary>
            Hint for copy data operation.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.DataHint">
      <summary>
            An abstract base class for all data hints.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.Hint">
      <summary>
            An abstract base for comparison hint implementation.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.IHint">
      <summary>
            Comparison hint contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.Hint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.DataHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.DataHint.#ctor(System.String,System.Collections.Generic.IList{Xtensive.Modelling.Comparison.Hints.IdentityPair})">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.DataHint" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.DataHint.SourceTablePath">
      <summary>
            Gets the source table path.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.DataHint.Identities">
      <summary>
            Gets the identities for data operation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.CopyDataHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.CopyDataHint.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.CopyDataHint.#ctor(System.String,System.Collections.Generic.IList{Xtensive.Modelling.Comparison.Hints.IdentityPair},System.Collections.Generic.IList{Xtensive.Core.Pair{System.String}})">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.CopyDataHint" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.CopyDataHint.CopiedColumns">
      <summary>
            Gets copied columns. The first value is source column path, 
            the second value is destination column path.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.DeleteDataHint">
      <summary>
            Hint for delete data operation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.DeleteDataHint.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.DeleteDataHint.#ctor(System.String,System.Collections.Generic.IList{Xtensive.Modelling.Comparison.Hints.IdentityPair})">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.DeleteDataHint" /> class.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.IdentityPair">
      <summary>
            Pair of node paths or node path and constant.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IdentityPair.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IdentityPair.#ctor(System.String,System.String,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.IdentityPair" /> class.
            </summary>
      <param name="source">The source node path.</param>
      <param name="target">The target node path.</param>
      <param name="isIdentifiedByConstant">if set to <see langword="true" /> the target value is constant.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IdentityPair.Source">
      <summary>
            Gets the source node path.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IdentityPair.Target">
      <summary>
            Gets the target node path or constant.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IdentityPair.IsIdentifiedByConstant">
      <summary>
            Gets a value indicating whether this <see cref="P:Xtensive.Modelling.Comparison.Hints.IdentityPair.Target" /> value is constant.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.IgnoreHint">
      <summary>
            Ignore node hint. 
            Add possibilities to ignore specified node in comparison.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IgnoreHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IgnoreHint.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IgnoreHint.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.IgnoreHint" /> class.
            </summary>
      <param name="path">The ignored node path.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IgnoreHint.Path">
      <summary>
            Gets ignored node path.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.UpdateDataHint">
      <summary>
            Hint for update data operation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.UpdateDataHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.UpdateDataHint.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.UpdateDataHint.#ctor(System.String,System.Collections.Generic.IList{Xtensive.Modelling.Comparison.Hints.IdentityPair},System.Collections.Generic.IList{Xtensive.Core.Pair{System.String,System.Object}})">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.UpdateDataHint" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.UpdateDataHint.UpdateParameter">
      <summary>
            Gets the update parameter. The first is updated column path, 
            the second is new value or null (default value).
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.UpgradeContext">
      <summary>
            Holds current state of the <see cref="T:Xtensive.Modelling.Comparison.Upgrader" />.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.UpgradeContext.Activate">
      <summary>
            Activates this instance.
            </summary>
      <returns>A disposable object deactivating it.</returns>
      <exception cref="T:System.InvalidOperationException">Invalid context activation sequence.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.UpgradeContext.GetMergeActions">
      <summary>
            Merges the sequence of 
            <see cref="P:Xtensive.Modelling.Comparison.UpgradeContext.PreConditions" />, <see cref="P:Xtensive.Modelling.Comparison.UpgradeContext.Actions" /> and <see cref="P:Xtensive.Modelling.Comparison.UpgradeContext.PostConditions" />
            and returns the result.
            Sets all these properties to <see langword="null" />.
            </summary>
      <returns>
      </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.UpgradeContext.Activate(System.Boolean)">
      <summary>
            Activates this instance.
            </summary>
      <param name="safely">If <see langword="true" />,
            a check that <see cref="P:Xtensive.Modelling.Comparison.UpgradeContext.Parent" /> is active must be performed.</param>
      <returns>A disposable object deactivating it.</returns>
      <exception cref="T:System.InvalidOperationException">Invalid context activation sequence.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.UpgradeContext.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.UpgradeContext" /> class.
            </summary>
      <exception cref="T:System.InvalidOperationException">No current Comparer.</exception>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Upgrader">
      <summary>
            Gets the upgrader this context is created for.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Parent">
      <summary>
            Gets the parent upgrade context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Difference">
      <summary>
            Gets or sets the currently processed difference.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.PreConditions">
      <summary>
            Gets or sets the current <see cref="F:Xtensive.Modelling.Comparison.UpgradeActionType.PreCondition" /> action sequence.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Actions">
      <summary>
            Gets or sets the current action sequence.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Renames">
      <summary>
            Gets or sets the current <see cref="F:Xtensive.Modelling.Comparison.UpgradeActionType.Rename" /> action sequence.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.PostConditions">
      <summary>
            Gets or sets the current <see cref="F:Xtensive.Modelling.Comparison.UpgradeActionType.PostCondition" /> action sequence.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.Property">
      <summary>
            Gets or sets the currently processed property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.IsImmutable">
      <summary>
            Indicates whether node must be copied rather than processed as usual.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.IsRemoved">
      <summary>
            Indicates whether node must be removed.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.UpgradeContext.DependencyRootType">
      <summary>
            Gets or sets the type of the dependency root.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Upgrader">
      <summary>
        <see cref="T:Xtensive.Modelling.Comparison.IUpgrader" /> implementation.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IUpgrader">
      <summary>
            Produces upgrade script (sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s)
            for the specified <see cref="T:Xtensive.Modelling.Comparison.Difference" /> and <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.IUpgrader.GetUpgradeSequence(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.Comparison.Hints.HintSet,Xtensive.Modelling.Comparison.IComparer)">
      <summary>
            Gets the upgrade script (sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s)
            for the specified <see cref="T:Xtensive.Modelling.Comparison.Difference" /> and <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            If <paramref name="comparer" /> is provided, it is used to validate
            the result of upgrade script.
            </summary>
      <param name="difference">The difference.</param>
      <param name="hints">The upgrade hints.</param>
      <param name="comparer">The comparer to use to validate
            the result of upgrade script.</param>
      <returns>
            Sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s describing the upgrade.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.IUpgrader.GetUpgradeSequence(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.Comparison.Hints.HintSet)">
      <summary>
            Gets the upgrade script (sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s)
            for the specified <see cref="T:Xtensive.Modelling.Comparison.Difference" /> and <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            </summary>
      <param name="difference">The difference.</param>
      <param name="hints">The upgrade hints.</param>
      <returns>
            Sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s describing the upgrade.
            </returns>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.NodeGroupComment">
      <summary>
            Node group comment (in action sequence).
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.NodeCollectionGroupComment">
      <summary>
            Node collection group comment (in action sequence).
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.PreConditionsGroupComment">
      <summary>
            Preconditions group comment (in action sequence).
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.RenamesGroupComment">
      <summary>
            Renames group comment (in action sequence).
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.PostConditionsGroupComment">
      <summary>
            Postconditions group comment (in action sequence).
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Upgrader.TemporaryNameFormat">
      <summary>
            Temporary name format string.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.GetUpgradeSequence(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.Comparison.Hints.HintSet)">
      <exception cref="T:System.ArgumentOutOfRangeException">
        <c>hints.SourceModel</c> or <c>hints.TargetModel</c>
            is out of range.</exception>
      <summary>
            Gets the upgrade script (sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s)
            for the specified <see cref="T:Xtensive.Modelling.Comparison.Difference" /> and <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            </summary>
      <param name="difference">The difference.</param>
      <param name="hints">The upgrade hints.</param>
      <returns>
            Sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s describing the upgrade.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.GetUpgradeSequence(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.Comparison.Hints.HintSet,Xtensive.Modelling.Comparison.IComparer)">
      <exception cref="T:System.ArgumentOutOfRangeException">
        <c>hints.SourceModel</c> or <c>hints.TargetModel</c>
            is out of range.</exception>
      <exception cref="T:System.InvalidOperationException">Upgrade sequence validation has failed.</exception>
      <summary>
            Gets the upgrade script (sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s)
            for the specified <see cref="T:Xtensive.Modelling.Comparison.Difference" /> and <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            If <paramref name="comparer" /> is provided, it is used to validate
            the result of upgrade script.
            </summary>
      <param name="difference">The difference.</param>
      <param name="hints">The upgrade hints.</param>
      <param name="comparer">The comparer to use to validate
            the result of upgrade script.</param>
      <returns>
            Sequence of <see cref="T:Xtensive.Modelling.Actions.NodeAction" />s describing the upgrade.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.ProcessStage(Xtensive.Modelling.Comparison.UpgradeStage,Xtensive.Modelling.Actions.GroupingNodeAction)">
      <summary>
            Generate actions for specific <see cref="T:Xtensive.Modelling.Comparison.UpgradeStage" />.
            </summary>
      <param name="stage">The stage.</param>
      <param name="action">The parent action.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.Visit(Xtensive.Modelling.Comparison.Difference)">
      <summary>
            Visitor dispatcher.
            </summary>
      <param name="difference">The difference to visit.</param>
      <returns>
            A sequence of actions that must be performed to upgrade
            from <see cref="P:Xtensive.Modelling.Comparison.IDifference.Source" /> of the specified
            difference to its <see cref="P:Xtensive.Modelling.Comparison.IDifference.Target" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.VisitNodeDifference(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Visits the node difference.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
            A sequence of actions that must be performed to upgrade
            from <see cref="P:Xtensive.Modelling.Comparison.IDifference.Source" /> of the specified
            difference to its <see cref="P:Xtensive.Modelling.Comparison.IDifference.Target" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.ProcessMovement(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Generates <see cref="T:Xtensive.Modelling.Actions.NodeAction" /> according to <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo" />.
            </summary>
      <param name="difference">The difference.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.RegisterTemporaryRename(Xtensive.Modelling.Node)">
      <summary>
            Registers the temporary rename.
            </summary>
      <param name="source">The renamed node.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.ProcessProperties(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Process <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.PropertyChanges" /> for specific <see cref="T:Xtensive.Modelling.Comparison.NodeDifference" />.
            </summary>
      <param name="difference">The difference.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.VisitNodeCollectionDifference(Xtensive.Modelling.Comparison.NodeCollectionDifference)">
      <summary>
            Visits the node collection difference.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
            A sequence of actions that must be performed to upgrade
            from <see cref="P:Xtensive.Modelling.Comparison.IDifference.Source" /> of the specified
            difference to its <see cref="P:Xtensive.Modelling.Comparison.IDifference.Target" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.VisitValueDifference(Xtensive.Modelling.Comparison.ValueDifference)">
      <summary>
            Visits the value difference.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
            A sequence of actions that must be performed to upgrade
            from <see cref="P:Xtensive.Modelling.Comparison.IDifference.Source" /> of the specified
            difference to its <see cref="P:Xtensive.Modelling.Comparison.IDifference.Target" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.VisitUnknownDifference(Xtensive.Modelling.Comparison.Difference)">
      <summary>
            Visits the unknown difference.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
            A sequence of actions that must be performed to upgrade
            from <see cref="P:Xtensive.Modelling.Comparison.IDifference.Source" /> of the specified
            difference to its <see cref="P:Xtensive.Modelling.Comparison.IDifference.Target" />.
            </returns>
      <exception cref="T:System.NotSupportedException">Always thrown by this method.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.IsAllowedForCurrentStage(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Determines whether the specified difference allowed for current <see cref="P:Xtensive.Modelling.Comparison.Upgrader.Stage" />.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
        <see langword="true" /> if the specified difference allowed
            for current <see cref="P:Xtensive.Modelling.Comparison.Upgrader.Stage" />; otherwise, <see langword="false" />.
            </returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <c>Stage</c> is out of range.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.IsCyclicRename(Xtensive.Modelling.Comparison.NodeDifference)">
      <summary>
            Determines whether is cycle rename detected.
            </summary>
      <param name="difference">The difference.</param>
      <returns>
        <see langword="true" /> if is cycle rename exists; otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.IsImmutable(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.PropertyAccessor)">
      <summary>
            Determines whether specified property is immutable.
            </summary>
      <param name="difference">The difference.</param>
      <param name="accessor">The property accessor.</param>
      <returns>
        <see langword="true" /> if th specified property is immutable; 
            otherwise, <see langword="false" />.
            </returns>
      <remarks>
            Returns <paramref name="accessor" />.<see cref="P:Xtensive.Modelling.PropertyAccessor.IsImmutable" />
            by default.
            </remarks>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.IsVolatile(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.PropertyAccessor)">
      <summary>
            Determines whether specified property is mutable.
            </summary>
      <param name="difference">The difference.</param>
      <param name="accessor">The property accessor.</param>
      <returns>
        <see langword="true" /> if th specified property is mutable; 
            otherwise, <see langword="false" />.
            </returns>
      <remarks>
            Returns <paramref name="accessor" />.<see cref="P:Xtensive.Modelling.PropertyAccessor.IsVolatile" />
            by default.
            </remarks>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.GetDependencyRootType(Xtensive.Modelling.Comparison.Difference,Xtensive.Modelling.PropertyAccessor)">
      <summary>
            Gets the type of the dependency root object for the specified property.
            </summary>
      <param name="difference">The difference.</param>
      <param name="accessor">The property accessor.</param>
      <returns>The type of the dependency root object for the specified property;
            <see langword="null" />, if none.</returns>
      <remarks>
            Returns <paramref name="accessor" />.<see cref="P:Xtensive.Modelling.PropertyAccessor.DependencyRootType" />
            by default.
            </remarks>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.GetTemporaryName(Xtensive.Modelling.Node)">
      <summary>
            Gets the name of the temporary for the renaming node in case of conflict
            (mutual rename).
            </summary>
      <returns>Temporary node name.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.GetPathWithoutName(Xtensive.Modelling.Node)">
      <summary>
            Gets the node path without node name.
            </summary>
      <param name="node">The node.</param>
      <returns>Path.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.CreateContext">
      <summary>
            Creates new upgrade context.
            </summary>
      <returns>Newly created <see cref="T:Xtensive.Modelling.Comparison.UpgradeContext" /> instance.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.OpenActionGroup(System.String)">
      <summary>
            Creates the new action group.
            </summary>
      <param name="comment">The action group comment.</param>
      <returns>A disposable deactivating the group.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Upgrader.AddAction(Xtensive.Modelling.Comparison.UpgradeActionType,Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Appends the specified action to the action sequence that is building now.
            </summary>
      <param name="actionType">Type of the action.</param>
      <param name="action">The action to append.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <c>actionType</c> is out of range.</exception>
      <exception cref="T:System.InvalidOperationException">Invalid <c>Context.DependencyRootType</c>.</exception>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Current">
      <summary>
            Gets the current comparer.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Context">
      <summary>
            Gets the current upgrade context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Difference">
      <summary>
            Gets the difference that is currently processed.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Hints">
      <summary>
            Gets the comparison and upgrade hints.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Stage">
      <summary>
            Gets the current upgrade stage.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.TemporaryRenames">
      <summary>
            Gets the temporary renames.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.SourceModel">
      <summary>
            Gets the source model to compare.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.TargetModel">
      <summary>
            Gets the target model to compare.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.CurrentModel">
      <summary>
            Gets the current model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Upgrader.Comparer">
      <summary>
            Gets the comparer.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.ComparisonStage">
      <summary>
            Enumeration of possible comparison stages.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.ComparisonStage.BaseComparison">
      <summary>
            Base properties comparison stage.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.ComparisonStage.ReferenceComparison">
      <summary>
            reference properties comparison stage.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.UpgradeStage">
      <summary>
            Enumeration of possible upgrade stages.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.CleanupData">
      <summary>
            Record-level cleanup.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.Prepare">
      <summary>
            Remove unnecesery structures.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.TemporaryRename">
      <summary>
            Rename cycle participants.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.Upgrade">
      <summary>
            Create and rename structures, change property values.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.CopyData">
      <summary>
            Copy data.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeStage.Cleanup">
      <summary>
            Remove structures thats have not been 
            removed on <see cref="F:Xtensive.Modelling.Comparison.UpgradeStage.Prepare" /> stage.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.UpgradeActionType">
      <summary>
            Enumerates possible upgrade action types.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeActionType.PreCondition">
      <summary>
            The action is precondition, so it should be added to appropriate preconditions chain.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeActionType.Regular">
      <summary>
            Regular action.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeActionType.Rename">
      <summary>
            The action is a rename of temporarily named node.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.UpgradeActionType.PostCondition">
      <summary>
            The action is postcondition, so it should be added to appropriate postconditions chain.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Difference">
      <summary>
            Base comparison result.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IDifference">
      <summary>
            Difference contract.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference.Source">
      <summary>
            Gets the source object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference.Target">
      <summary>
            Gets the target object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference.Parent">
      <summary>
            Gets the parent difference.
            <see langword="null" />, if none.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference.HasChanges">
      <summary>
            Gets a value indicating whether this difference has changes.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.Difference.ToString_IndentSize">
      <summary>
            Indent size in <see cref="M:Xtensive.Modelling.Comparison.Difference.ToString" /> method.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Difference.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Difference.ParametersToString">
      <summary>
            Converts parameters to string.
            </summary>
      <returns>String representation of difference parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Difference.#ctor(System.Object,System.Object)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Difference" /> class.
            </summary>
      <param name="source">The <see cref="P:Xtensive.Modelling.Comparison.Difference.Source" /> value.</param>
      <param name="target">The <see cref="P:Xtensive.Modelling.Comparison.Difference.Target" /> value.</param>
      <exception cref="T:System.InvalidOperationException">Both <paramref name="source" /> and 
            <paramref name="target" /> are <see langword="null" />.</exception>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Difference.Source">
      <summary>
            Gets the source object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Difference.Target">
      <summary>
            Gets the target object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Difference.Parent">
      <summary>
            Gets the parent difference.
            <see langword="null" />, if none.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Difference.HasChanges">
      <summary>
            Gets a value indicating whether this difference has changes.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.HintSet">
      <summary>
        <see cref="T:Xtensive.Modelling.Comparison.Hints.Hint" /> set.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.IHintSet">
      <summary>
        <see cref="T:Xtensive.Modelling.Comparison.Hints.Hint" /> collection contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IHintSet.Add(Xtensive.Modelling.Comparison.Hints.Hint)">
      <summary>
            Adds the specified hint to the collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IHintSet.Clear">
      <summary>
            Clears the collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IHintSet.GetHint``1(Xtensive.Modelling.Node)">
      <summary>
            Gets the hint of type <typeparamref name="THint" /> for the specified node.
            </summary>
      <typeparam name="THint">The type of the hint.</typeparam>
      <param name="node">The node hint is applicable to.</param>
      <returns>
            Found hint, if any;
            otherwise, <see langword="null" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.IHintSet.GetHints``1(Xtensive.Modelling.Node)">
      <summary>
            Gets hints of type <typeparamref name="THint" /> for the specified node.
            </summary>
      <typeparam name="THint">The type of the hint.</typeparam>
      <param name="node">The node hints are applicable to.</param>
      <returns>
            Found hints, if any;
            otherwise, an empty array.
            </returns>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IHintSet.Count">
      <summary>
            Gets the count of contained hints.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IHintSet.SourceModel">
      <summary>
            Gets or sets the source model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.IHintSet.TargetModel">
      <summary>
            Gets or sets the target model.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.Add(Xtensive.Modelling.Comparison.Hints.Hint)">
      <exception cref="T:System.InvalidOperationException">One of paths returned by
            <see cref="M:Xtensive.Modelling.Comparison.Hints.Hint.GetTargets" /> method isn't found.</exception>
      <summary>
            Adds the specified hint to the collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.Clear">
      <summary>
            Clears the collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.GetHint``1(Xtensive.Modelling.Node)">
      <exception cref="T:System.InvalidOperationException">Multiple hints found.</exception>
      <summary>
            Gets the hint of type <typeparamref name="THint" /> for the specified node.
            </summary>
      <typeparam name="THint">The type of the hint.</typeparam>
      <param name="node">The node hint is applicable to.</param>
      <returns>
            Found hint, if any;
            otherwise, <see langword="null" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.GetHints``1(Xtensive.Modelling.Node)">
      <summary>
            Gets hints of type <typeparamref name="THint" /> for the specified node.
            </summary>
      <typeparam name="THint">The type of the hint.</typeparam>
      <param name="node">The node hints are applicable to.</param>
      <returns>
            Found hints, if any;
            otherwise, an empty array.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.HasHints(Xtensive.Modelling.Node)">
      <summary>
            Determines whether there are any hints associated with the specified.
            </summary>
      <param name="node">The node to check.</param>
      <returns>
        <see langword="true" /> if the specified node has associated hints; 
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.System#Collections#IEnumerable#GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.Lock(System.Boolean)">
      <summary>
            Locks the instance and (possibly) all dependent objects.
            </summary>
      <param name="recursive">
        <see langword="True" /> if all dependent objects should be locked as well.</param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintSet.#ctor(Xtensive.Modelling.IModel,Xtensive.Modelling.IModel)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" /> class.
            </summary>
      <param name="sourceModel">The source model.</param>
      <param name="targetModel">The target model.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintSet.Empty">
      <summary>
            Gets the empty <see cref="T:Xtensive.Modelling.Comparison.Hints.HintSet" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintSet.Count">
      <summary>
            Gets the number of elements contained in a collection.
            </summary>
      <value>
      </value>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintSet.Xtensive#Core#Collections#ICountable#Count">
      <summary>
            Gets the number of elements contained in a collection.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintSet.SourceModel">
      <summary>
            Gets or sets the source model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintSet.TargetModel">
      <summary>
            Gets or sets the target model.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.HintTarget">
      <summary>
            Hint target reference.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.Equals(Xtensive.Modelling.Comparison.Hints.HintTarget)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
                </returns>
      <param name="obj">
                    An object to compare with this object.
                </param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.Equals(System.Object)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
                </returns>
      <param name="obj">
                    An object to compare with this object.
                </param>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.op_Equality(Xtensive.Modelling.Comparison.Hints.HintTarget,Xtensive.Modelling.Comparison.Hints.HintTarget)">
      <summary>
            Implements the equality operator.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.op_Inequality(Xtensive.Modelling.Comparison.Hints.HintTarget,Xtensive.Modelling.Comparison.Hints.HintTarget)">
      <summary>
            Implements the inequality operator.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.HintTarget.#ctor(Xtensive.Modelling.Comparison.ModelType,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.HintTarget" /> class.
            </summary>
      <param name="model">The model.</param>
      <param name="path">The path.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintTarget.Model">
      <summary>
            Gets the model this hint target points to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.HintTarget.Path">
      <summary>
            Gets the node path this hint target points to.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.Hints.RenameHint">
      <summary>
            Rename hint.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.RenameHint.GetTargets">
      <summary>
            Gets the targets of this hint - paths to the nodes affected by it directly.
            </summary>
      <returns>A sequence of hint targets.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.RenameHint.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.Hints.RenameHint.#ctor(System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.Hints.RenameHint" /> class.
            </summary>
      <param name="sourcePath">The source path.</param>
      <param name="targetPath">The target path.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.RenameHint.SourcePath">
      <summary>
            Gets the source node path.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.Hints.RenameHint.TargetPath">
      <summary>
            Gets the target node path.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IDifference`2">
      <summary>
        <see cref="P:Xtensive.Modelling.Comparison.IDifference`2.Parent" />-typed <see cref="T:Xtensive.Modelling.Comparison.IDifference`1" /> contract.
            </summary>
      <typeparam name="T">The type of source and target objects.</typeparam>
      <typeparam name="TParent">The type of the parent.</typeparam>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IDifference`1">
      <summary>
            Typed <see cref="T:Xtensive.Modelling.Comparison.IDifference" /> contract.
            </summary>
      <typeparam name="T">The type of <see cref="P:Xtensive.Modelling.Comparison.IDifference`1.Source" /> and <see cref="P:Xtensive.Modelling.Comparison.IDifference`1.Target" /> objects.</typeparam>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference`1.Source">
      <summary>
            Gets the source object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference`1.Target">
      <summary>
            Gets the target object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IDifference`2.Parent">
      <summary>
            Gets the parent difference.
            <see langword="null" />, if none.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.IHasPropertyChanges">
      <summary>
            A contract of describing property change set.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.IHasPropertyChanges.PropertyChanges">
      <summary>
            Gets list of property changes.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.ModelType">
      <summary>
            Model type.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.ModelType.Source">
      <summary>
            Source model.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.ModelType.Target">
      <summary>
            Target model.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.NodeCollectionDifference">
      <summary>
        <see cref="T:Xtensive.Modelling.NodeCollection" /> comparison result.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.NodeCollectionDifference.ParametersToString">
      <summary>
            Converts parameters to string.
            </summary>
      <returns>String representation of difference parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.NodeCollectionDifference.#ctor(Xtensive.Modelling.NodeCollection,Xtensive.Modelling.NodeCollection)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.NodeCollectionDifference" /> class.
            </summary>
      <param name="source">The <see cref="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.Source" /> value.</param>
      <param name="target">The <see cref="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.Target" /> value.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.Source">
      <summary>
            Gets the source object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.Target">
      <summary>
            Gets the target object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.ItemChanges">
      <summary>
            Gets the item changes.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeCollectionDifference.HasChanges">
      <summary>
            Gets a value indicating whether this difference has changes.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.NodeDifference">
      <summary>
        <see cref="T:Xtensive.Modelling.Node" /> comparison result.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.NodeDifference.ParametersToString">
      <summary>
            Converts parameters to string.
            </summary>
      <returns>String representation of difference parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.NodeDifference.#ctor(Xtensive.Modelling.Node,Xtensive.Modelling.Node)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Comparison.NodeDifference" /> class.
            </summary>
      <param name="source">The <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.Source" /> value.</param>
      <param name="target">The <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.Target" /> value.</param>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.Source">
      <summary>
            Gets the source object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.Target">
      <summary>
            Gets the target object.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo">
      <summary>
            Gets or sets the movement info.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsRemoveOnCleanup">
      <summary>
            Gets or set a value indicating whether source node 
            must be removed on cleanup stage.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsDependentOnParent">
      <summary>
            Gets or sets a value indicating whether source node 
            must be removed before his parent.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsDataChanged">
      <summary>
            Gets or sets a value indicating whether data is changed.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsRemoved">
      <summary>
            Gets a value indicating whether this <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo" /> contain flag 
            <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Removed" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsCreated">
      <summary>
            Gets a value indicating whether this <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo" /> contain flag 
            <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Created" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsChanged">
      <summary>
            Gets a value indicating whether this <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo" /> contain flag 
            <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Changed" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.IsNameChanged">
      <summary>
            Gets a value indicating whether this <see cref="P:Xtensive.Modelling.Comparison.NodeDifference.MovementInfo" /> contain flag 
            <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.NameChanged" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.PropertyChanges">
      <summary>
            Gets list of property changes.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Comparison.NodeDifference.HasChanges">
      <summary>
            Gets a value indicating whether this difference has changes.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.MovementInfo">
      <summary>
        <see cref="T:Xtensive.Modelling.Node" /> movement information.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Unknown">
      <summary>
            The source node is not changed.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Changed">
      <summary>
            The source node is changed.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Relocated">
      <summary>
            The source node is relocated.
            Implies any action leading to update references to it.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Created">
      <summary>
            The target node is newly created.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Removed">
      <summary>
            The source node is removed.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.Copied">
      <summary>
            The source node is copied.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.NameChanged">
      <summary>
            Source node <see cref="P:Xtensive.Modelling.Node.Name" /> is changed.
            Always <see langword="false" /> for <see cref="T:Xtensive.Modelling.IUnnamedNode" />s.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.IndexChanged">
      <summary>
            Source node <see cref="P:Xtensive.Modelling.Node.Index" /> is changed.
            Always <see langword="false" /> for nodes nested into
            <see cref="T:Xtensive.Modelling.IUnorderedNodeCollection" />.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.ParentChanged">
      <summary>
            Direct source node <see cref="P:Xtensive.Modelling.Node.Parent" /> is changed,
            i.e. the node was moved to a different parent node.
            Parent's renaming isn't considered as parent change.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Comparison.MovementInfo.ParentRelocated">
      <summary>
            Direct or indirect source node <see cref="P:Xtensive.Modelling.Node.Parent" /> is <see cref="F:Xtensive.Modelling.Comparison.MovementInfo.Relocated" />.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Comparison.ValueDifference">
      <summary>
            Simple value comparison result.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ValueDifference.ParametersToString">
      <summary>
            Converts parameters to string.
            </summary>
      <returns>String representation of difference parameters.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Comparison.ValueDifference.#ctor(System.Object,System.Object)">
      <inheritdoc />
    </member>
    <member name="P:Xtensive.Modelling.Comparison.ValueDifference.HasChanges">
      <summary>
            Gets a value indicating whether this difference has changes.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.IModel">
      <summary>
            Tagging interface for root model types.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.INode">
      <summary>
            Node interface.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.IPathNode">
      <summary>
            Base class for any model node or node collection (path node).
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Validation.IValidatable">
      <summary>
            "Validatable object" contract.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Validation.IValidatable.Validate">
      <summary>
            Validates the instance state.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.IPathNode.Resolve(System.String)">
      <summary>
            Gets the child node by its path.
            </summary>
      <param name="path">Path to the node to get.</param>
      <returns>Path node, if found;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.IPathNode.Dump">
      <summary>
            Dumps this instance.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode.Name">
      <summary>
            Gets or sets the name of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode.EscapedName">
      <summary>
            Gets escaped <see cref="P:Xtensive.Modelling.IPathNode.Name" /> of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode.Parent">
      <summary>
            Gets or sets the parent node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode.Path">
      <summary>
            Gets the path to this node.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.INode.GetProperty(System.String)">
      <summary>
            Gets the value of the property with specified name.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <returns>Property value.</returns>
    </member>
    <member name="M:Xtensive.Modelling.INode.SetProperty(System.String,System.Object)">
      <summary>
            Sets the value of the property with specified name.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <param name="value">The value to set.</param>
    </member>
    <member name="M:Xtensive.Modelling.INode.GetNestedProperty(System.String)">
      <summary>
            Tries the get nested property value.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <returns>Nested property value;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.INode.GetPathNodes(System.Boolean)">
      <summary>
            Gets all non-<see langword="null" /> property values of <see cref="T:Xtensive.Modelling.IPathNode" /> type.
            </summary>
      <param name="nestedOnly">If set to <see langword="true" />, only nested nodes will be returned;
            otherwise, <see langword="false" />.</param>
      <returns>Non-<see langword="null" /> property values of <see cref="T:Xtensive.Modelling.IPathNode" /> type.</returns>
    </member>
    <member name="M:Xtensive.Modelling.INode.Move(Xtensive.Modelling.Node,System.String,System.Int32)">
      <summary>
            Moves the node.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
    </member>
    <member name="M:Xtensive.Modelling.INode.Remove">
      <summary>
            Removes the node.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.INode.Clone(Xtensive.Modelling.Node,System.String)">
      <summary>
            Copies the whole node to the specified location.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <returns>Created copy of the node.</returns>
    </member>
    <member name="P:Xtensive.Modelling.INode.State">
      <summary>
            Gets the state of the node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INode.Index">
      <summary>
            Gets or sets the index of the node in the parent collection, if applicable;
            otherwise, <see langword="0" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INode.Nesting">
      <summary>
            Gets the node nesting information.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INode.PropertyAccessors">
      <summary>
            Gets the property accessors for this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.IModel.Actions">
      <summary>
            Gets or sets the sequence of actions to log.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.INodeReference">
      <summary>
            Node reference contract.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INodeReference.Value">
      <summary>
            Gets or sets the target node this reference points to.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.IUnnamedNode">
      <summary>
            A tagging interface for any unnamed node.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.IUnorderedNodeCollection">
      <summary>
            A tagging interface for any unordered node collection.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.INodeCollection">
      <summary>
        <see cref="T:Xtensive.Modelling.Node" /> collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.INodeCollection.TryGetValue(System.String,Xtensive.Modelling.Node@)">
      <summary>
            Gets the item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />.
            </summary>
      <param name="name">The <see cref="P:Xtensive.Modelling.Node.Name" /> of the item to get.</param>
      <param name="value">Item, if it is found; otherwise <see langword="null" />.</param>
      <returns>
        <see langword="true" /> if item is found by specified <paramref name="name" />;
            otherwise <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.INodeCollection.Contains(System.String)">
      <summary>
            Determines whether collection contains
            an item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />.
            </summary>
      <param name="name">The <see cref="P:Xtensive.Modelling.Node.Name" /> of the item to find.</param>
      <returns>
        <see langword="true" /> if this collection contains
            an item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />;
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.INodeCollection.GetTemporaryName">
      <summary>
            Gets the temporary name (it isn't used in this collection).
            </summary>
      <returns>Temporary name.</returns>
    </member>
    <member name="M:Xtensive.Modelling.INodeCollection.Clear">
      <summary>
            Clears the collection.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INodeCollection.Count">
      <summary>
            Gets the count of items.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INodeCollection.Item(System.Int32)">
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INodeCollection.Item(System.String)">
      <summary>
            An indexer that provides access to collection items by their names.
            Returns <see langword="null" /> if there is no such item.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.CloningContext">
      <summary>
        <see cref="T:Xtensive.Modelling.Node" /> cloning context.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.AddFixup(System.Action)">
      <summary>
            Adds the new fixup to fixups sequence.
            </summary>
      <param name="fixup">The fixup to add.</param>
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.ClearFixups">
      <summary>
            Clears all the fixups.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.ApplyFixups">
      <summary>
            Applies all the fixups.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.CloningScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.Xtensive#Core#IoC#IContext#Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.CloningScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="M:Xtensive.Modelling.CloningContext.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.CloningContext" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.CloningContext.Fixups">
      <summary>
            Gets all the added fixups.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.CloningContext.Current">
      <summary>
            Gets the current validation context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.CloningContext.IsActive">
      <summary>
            Indicates whether current context is active.
            </summary>
      <seealso cref="M:Xtensive.Core.IoC.IContext.Activate" />
    </member>
    <member name="T:Xtensive.Modelling.CloningScope">
      <summary>
        <see cref="T:Xtensive.Modelling.Node" /> cloning scope.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.CloningScope.Open">
      <summary>
            Opens a cloning context and scope.
            </summary>
      <returns>A new <see cref="T:Xtensive.Modelling.CloningScope" />, if there is no 
            <see cref="P:Xtensive.Modelling.CloningContext.Current" /> cloning context;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.CloningScope.#ctor(Xtensive.Modelling.CloningContext)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.CloningScope" /> class.
            </summary>
      <param name="context">The context.</param>
    </member>
    <member name="M:Xtensive.Modelling.CloningScope.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
      <param name="disposing">
        <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
    </member>
    <member name="P:Xtensive.Modelling.CloningScope.CurrentContext">
      <summary>
            Gets the current context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.CloningScope.Context">
      <summary>
            Gets the associated cloning context.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Nesting`3">
      <summary>
        <see cref="T:Xtensive.Modelling.INesting" /> implementation.
            </summary>
      <typeparam name="TNode">The type of the node.</typeparam>
      <typeparam name="TParent">The type of the parent.</typeparam>
      <typeparam name="TProperty">The type of the property.</typeparam>
    </member>
    <member name="T:Xtensive.Modelling.Nesting">
      <summary>
            Abstract base <see cref="T:Xtensive.Modelling.INesting" /> implementation.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.INesting">
      <summary>
            Node nesting information.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.Node">
      <summary>
            Gets the node this object belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.PropertyName">
      <summary>
            Gets the name of the parent property, to which the node can be nested.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.EscapedPropertyName">
      <summary>
            Gets the escaped <see cref="P:Xtensive.Modelling.INesting.PropertyName" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.IsNestedToCollection">
      <summary>
            Gets a value indicating whether <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property is a collection property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.PropertyInfo">
      <summary>
            Gets the property info for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.PropertyGetter">
      <summary>
            Gets the property getter for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INesting.PropertyValue">
      <summary>
            Gets the property value for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Nesting.Initialize">
      <exception cref="T:System.InvalidOperationException">Invalid property type.</exception>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.PropertyName">
      <summary>
            Gets the name of the parent property, to which the node can be nested.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.EscapedPropertyName">
      <summary>
            Gets the escaped <see cref="P:Xtensive.Modelling.INesting.PropertyName" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.Node">
      <summary>
            Gets the node this object belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.IsNestedToCollection">
      <summary>
            Gets a value indicating whether <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property is a collection property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.PropertyInfo">
      <summary>
            Gets the property info for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.PropertyGetter">
      <summary>
            Gets the property getter for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting.PropertySetter">
      <inheritdoc />
    </member>
    <member name="P:Xtensive.Modelling.Nesting.PropertyValue">
      <summary>
            Gets the property value for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Nesting`3.Initialize">
      <exception cref="T:System.InvalidOperationException">Invalid property type.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Nesting`3.#ctor(`0,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Nesting`3" /> class.
            </summary>
      <param name="node">
        <see cref="T:Xtensive.Modelling.Node" /> property value.</param>
      <param name="propertyName">
        <see cref="P:Xtensive.Modelling.Nesting.PropertyName" /> property value.</param>
    </member>
    <member name="M:Xtensive.Modelling.Nesting`3.#ctor(`0)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Nesting`3" /> class.
            </summary>
      <param name="node">
        <see cref="T:Xtensive.Modelling.Node" /> property value.</param>
    </member>
    <member name="P:Xtensive.Modelling.Nesting`3.PropertyInfo">
      <summary>
            Gets the property info for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting`3.IsNestedToCollection">
      <summary>
            Gets a value indicating whether <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property is a collection property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting`3.PropertyGetter">
      <summary>
            Gets the property getter for <see cref="P:Xtensive.Modelling.INesting.PropertyName" /> property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Nesting`3.PropertySetter">
      <inheritdoc />
    </member>
    <member name="T:Xtensive.Modelling.INode`1">
      <summary>
            Node with specified <see cref="P:Xtensive.Modelling.IPathNode.Parent" /> type.
            </summary>
      <typeparam name="TParent">The type of the parent.</typeparam>
    </member>
    <member name="T:Xtensive.Modelling.IPathNode`1">
      <summary>
            Path node with specified <see cref="P:Xtensive.Modelling.IPathNode.Parent" /> type.
            </summary>
      <typeparam name="TParent">The type of the parent.</typeparam>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode`1.Parent">
      <summary>
            Gets the parent node.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.INode`1.Move(`0,System.String,System.Int32)">
      <summary>
            Moves the node.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
    </member>
    <member name="P:Xtensive.Modelling.INode`1.Parent">
      <summary>
            Gets or sets the parent node.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.INodeCollection`1">
      <summary>
            Typed <see cref="T:Xtensive.Modelling.Node" /> collection.
            </summary>
      <typeparam name="TNode">The type of the collection item.</typeparam>
    </member>
    <member name="M:Xtensive.Modelling.INodeCollection`1.TryGetValue(System.String,Xtensive.Modelling.Node@)">
      <summary>
            Gets the item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />.
            </summary>
      <param name="name">The <see cref="P:Xtensive.Modelling.Node.Name" /> of the item to get.</param>
      <param name="value">Item, if it is found; otherwise <see langword="null" />.</param>
      <returns>
        <see langword="true" /> if item is found by specified <paramref name="name" />;
            otherwise <see langword="false" />.
            </returns>
    </member>
    <member name="P:Xtensive.Modelling.INodeCollection`1.Item(System.Int32)">
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.INodeCollection`1.Item(System.String)">
      <summary>
            An indexer that provides access to collection items by their names.
            Returns <see langword="null" /> if there is no such item.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.IPathNode`2">
      <summary>
            Path node with specified <see cref="P:Xtensive.Modelling.IPathNode.Model" /> 
            and <see cref="P:Xtensive.Modelling.IPathNode.Parent" /> types.
            </summary>
      <typeparam name="TParent">The type of the parent.</typeparam>
      <typeparam name="TModel">The type of the model.</typeparam>
    </member>
    <member name="P:Xtensive.Modelling.IPathNode`2.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Log">
      <summary>
            Log for this namespace.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Log.Name">
      <summary>
            The name of the log.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Node">
      <summary>
            An abstract base class for model node.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Node.PathDelimiter">
      <summary>
            Path delimiter character.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.Node.PathEscape">
      <summary>
            Path escape character.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.GetProperty(System.String)">
      <summary>
            Gets the value of the property with specified name.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <returns>Property value.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.SetProperty(System.String,System.Object)">
      <summary>
            Sets the value of the property with specified name.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <param name="value">The value to set.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.GetNestedProperty(System.String)">
      <summary>
            Tries the get nested property value.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <returns>Nested property value;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.GetPathNodes(System.Boolean)">
      <summary>
            Gets all non-<see langword="null" /> property values of <see cref="T:Xtensive.Modelling.IPathNode" /> type.
            </summary>
      <param name="nestedOnly">If set to <see langword="true" />, only nested nodes will be returned;
            otherwise, <see langword="false" />.</param>
      <returns>Non-<see langword="null" /> property values of <see cref="T:Xtensive.Modelling.IPathNode" /> type.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.Move(Xtensive.Modelling.Node,System.String,System.Int32)">
      <exception cref="T:System.InvalidOperationException">Invalid node state.</exception>
      <summary>
            Moves the node.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.Remove">
      <exception cref="T:System.InvalidOperationException">Invalid node state.</exception>
      <summary>
            Removes the node.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.Resolve(System.String)">
      <summary>
            Gets the child node by its path.
            </summary>
      <param name="path">Path to the node to get.</param>
      <returns>Path node, if found;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.Validate">
      <summary>
            Validates the instance state.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.Clone(Xtensive.Modelling.Node,System.String)">
      <exception cref="T:System.InvalidOperationException">Required constructor isn't found.</exception>
      <summary>
            Copies the whole node to the specified location.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <returns>Created copy of the node.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.CopyPropertyValue(Xtensive.Modelling.Node,Xtensive.Modelling.PropertyAccessor)">
      <summary>
            Copies the property value.
            </summary>
      <param name="target">The target node.</param>
      <param name="accessor">The accessor of the property to copy value of.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.ValidateMove(Xtensive.Modelling.Node,System.String,System.Int32)">
      <summary>
            Validates the <see cref="M:Xtensive.Modelling.Node.Move(Xtensive.Modelling.Node,System.String,System.Int32)" /> method arguments.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
      <exception cref="T:System.ArgumentException">Item already exists.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="newIndex" /> is out of range, 
            or <paramref name="newParent" /> belongs to a different <see cref="P:Xtensive.Modelling.Node.Model" />.</exception>
      <exception cref="T:System.InvalidOperationException">newName!=newIndex for <see cref="T:Xtensive.Modelling.IUnnamedNode" />.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.ValidateRemove">
      <summary>
            Validates the <see cref="M:Xtensive.Modelling.Node.Remove" /> method call.
            </summary>
      <exception cref="T:System.InvalidOperationException">Model object cannot be removed.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.ValidateState">
      <summary>
            Validates the state (i.e. checks everything except nested properties).
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.PerformCreate">
      <summary>
            Actually performs construction operation.
            </summary>
      <exception cref="T:System.InvalidOperationException">Target object already exists.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.PerformMove(Xtensive.Modelling.Node,System.String,System.Int32)">
      <summary>
            Actually performs <see cref="M:Xtensive.Modelling.Node.Move(Xtensive.Modelling.Node,System.String,System.Int32)" /> operation.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
      <exception cref="T:System.InvalidOperationException">Target object already exists.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.PerformShift(System.Int32)">
      <summary>
            Performs "shift" operation 
            (induced by <see cref="M:Xtensive.Modelling.Node.Move(Xtensive.Modelling.Node,System.String,System.Int32)" /> operation of another node).
            </summary>
      <param name="offset">Shift offset.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.PerformRemove(Xtensive.Modelling.Node)">
      <summary>
            Actually performs <see cref="M:Xtensive.Modelling.Node.Remove" /> operation.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.LogPropertyChange(System.String,System.Object)">
      <summary>
            Logs the property change.
            </summary>
      <param name="propertyName">Name of the property.</param>
      <param name="propertyValue">The property value.</param>
      <returns>
      </returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.LogAction(Xtensive.Modelling.Actions.NodeAction)">
      <summary>
            Begins registration of a new action.
            </summary>
      <param name="action">The action to register.</param>
      <returns>
        <see cref="T:Xtensive.Modelling.Actions.ActionScope" /> object allowing to describe it.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.LogAction">
      <summary>
            Begins registration of a new action.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.Actions.ActionScope" /> object allowing to describe it.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.EnsureIsLive">
      <summary>
            Ensures the node <see cref="P:Xtensive.Modelling.Node.State" /> is <see cref="F:Xtensive.Modelling.NodeState.Live" />.
            </summary>
      <exception cref="T:System.InvalidOperationException">
        <see cref="P:Xtensive.Modelling.Node.State" /> is invalid.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.EnsureIsEditable">
      <summary>
            Ensures the node <see cref="P:Xtensive.Modelling.Node.State" /> is <see cref="F:Xtensive.Modelling.NodeState.Live" /> and
            node isn't <see cref="M:Xtensive.Modelling.Node.Lock(System.Boolean)" />ed.
            </summary>
      <exception cref="T:System.InvalidOperationException">
        <see cref="P:Xtensive.Modelling.Node.State" /> is invalid.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.OnPropertyChanged(System.String)">
      <summary>
            Raises <see cref="E:Xtensive.Modelling.Node.PropertyChanged" /> event.
            </summary>
      <param name="name">Name of the property.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.ChangeProperty``1(System.String,``0,System.Action{Xtensive.Modelling.Node,``0})">
      <summary>
            Does all the dirty job to change the property of this node.
            </summary>
      <typeparam name="T">
      </typeparam>
      <param name="name">Name of the property.</param>
      <param name="value">New value of the property.</param>
      <param name="setter">Property setter delegate.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="value" /> belongs to a different <see cref="P:Xtensive.Modelling.Node.Model" />.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.Lock(System.Boolean)">
      <summary>
            Locks the instance and (possibly) all dependent objects.
            </summary>
      <param name="recursive">
        <see langword="True" /> if all dependent objects should be locked as well.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.CreateNesting">
      <summary>
            Creates <see cref="P:Xtensive.Modelling.Node.Nesting" /> object describing how this node is nested.
            </summary>
      <returns>New <see cref="P:Xtensive.Modelling.Node.Nesting" /> object.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Node.Initialize">
      <summary>
            Initializes this instance.
            </summary>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Xtensive.Modelling.Node.CreateNesting" /> has returned <see langword="null" />.</exception>
    </member>
    <member name="M:Xtensive.Modelling.Node.Dump">
      <summary>
            Dumps this instance.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Node.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.Node.#ctor(Xtensive.Modelling.Node,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Node" /> class.
            </summary>
      <param name="parent">
        <see cref="P:Xtensive.Modelling.Node.Parent" /> property value.</param>
      <param name="name">Initial <see cref="P:Xtensive.Modelling.Node.Name" /> property value.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
      <summary>
                    Runs when the entire object graph has been deserialized.
                </summary>
      <param name="sender">
                    The object that initiated the callback. The functionality for this parameter is not currently implemented. 
                </param>
    </member>
    <member name="P:Xtensive.Modelling.Node.Parent">
      <summary>
            Gets or sets the parent node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.Name">
      <summary>
            Gets or sets the name of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.EscapedName">
      <summary>
            Gets escaped <see cref="P:Xtensive.Modelling.IPathNode.Name" /> of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.State">
      <summary>
            Gets the state of the node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.Index">
      <summary>
            Gets or sets the index of the node in the parent collection, if applicable;
            otherwise, <see langword="0" />.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.Nesting">
      <summary>
            Gets the node nesting information.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.PropertyAccessors">
      <summary>
            Gets the property accessors for this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node.Path">
      <summary>
            Gets the path to this node.
            </summary>
    </member>
    <member name="E:Xtensive.Modelling.Node.PropertyChanged">
      <summary>
                    Occurs when a property value changes.
                </summary>
    </member>
    <member name="T:Xtensive.Modelling.NodeCollection">
      <summary>
            An abstract base class for collection of nodes in model.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.TryGetValue(System.String,Xtensive.Modelling.Node@)">
      <summary>
            Gets the item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />.
            </summary>
      <param name="name">The <see cref="P:Xtensive.Modelling.Node.Name" /> of the item to get.</param>
      <param name="value">Item, if it is found; otherwise <see langword="null" />.</param>
      <returns>
        <see langword="true" /> if item is found by specified <paramref name="name" />;
            otherwise <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Contains(System.String)">
      <summary>
            Determines whether collection contains
            an item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />.
            </summary>
      <param name="name">The <see cref="P:Xtensive.Modelling.Node.Name" /> of the item to find.</param>
      <returns>
        <see langword="true" /> if this collection contains
            an item with the specified <see cref="P:Xtensive.Modelling.Node.Name" />;
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.GetTemporaryName">
      <summary>
            Gets the temporary name (it isn't used in this collection).
            </summary>
      <returns>Temporary name.</returns>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Resolve(System.String)">
      <summary>
            Gets the child node by its path.
            </summary>
      <param name="path">Path to the node to get.</param>
      <returns>Path node, if found;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Validate">
      <summary>
            Validates the instance state.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Clear">
      <summary>
            Clears the collection.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
      <summary>
            Raises <see cref="E:Xtensive.Modelling.NodeCollection.CollectionChanged" /> event.
            </summary>
      <param name="args">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs" /> 
            instance containing the event data.</param>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through a collection.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Lock(System.Boolean)">
      <summary>
            Locks the instance and (possibly) all dependent objects.
            </summary>
      <param name="recursive">
        <see langword="True" /> if all dependent objects should be locked as well.</param>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Add(Xtensive.Modelling.Node)">
      <exception cref="T:System.InvalidOperationException">Internal error.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Remove(Xtensive.Modelling.Node)">
      <exception cref="T:System.InvalidOperationException">Internal error.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.RemoveName(Xtensive.Modelling.Node)">
      <exception cref="T:System.InvalidOperationException">Internal error.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.AddName(Xtensive.Modelling.Node)">
      <exception cref="T:System.InvalidOperationException">Internal error.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.CheckIntegrity">
      <exception cref="T:System.InvalidOperationException">Internal error.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Dump">
      <summary>
            Dumps this instance.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.Initialize">
      <summary>
            Initializes this instance.
            </summary>
      <exception cref="T:System.InvalidOperationException">
        <see cref="P:Xtensive.Modelling.NodeCollection.Name" /> is not initialized yet.</exception>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.#ctor(Xtensive.Modelling.Node,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.NodeCollection" /> class.
            </summary>
      <param name="parent">
        <see cref="P:Xtensive.Modelling.NodeCollection.Parent" /> property value.</param>
      <param name="name">
        <see cref="P:Xtensive.Modelling.NodeCollection.Name" /> property value.</param>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
      <summary>
                    Runs when the entire object graph has been deserialized.
                </summary>
      <param name="sender">
                    The object that initiated the callback. The functionality for this parameter is not currently implemented. 
                </param>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Name">
      <exception cref="T:System.NotSupportedException">Property is already initialized.</exception>
      <summary>
            Gets or sets the name of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.EscapedName">
      <summary>
            Gets escaped <see cref="P:Xtensive.Modelling.IPathNode.Name" /> of this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Parent">
      <exception cref="T:System.NotSupportedException">Property is already initialized.</exception>
      <summary>
            Gets or sets the parent node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Path">
      <summary>
            Gets the path to this node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Xtensive#Core#Collections#ICountable#Count">
      <summary>
            Gets the number of elements contained in a collection.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Count">
      <summary>
            Gets the count of items.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Item(System.Int32)">
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection.Item(System.String)">
      <exception cref="T:System.ArgumentException">Item is not found.</exception>
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="E:Xtensive.Modelling.NodeCollection.CollectionChanged">
      <inheritdoc />
    </member>
    <member name="T:Xtensive.Modelling.NodeCollection`3">
      <summary>
            Typed node collection implementation.
            </summary>
      <typeparam name="TNode">The type of the node.</typeparam>
      <typeparam name="TParent">The type of the parent.</typeparam>
      <typeparam name="TModel">The type of the model.</typeparam>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection`3.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through a collection.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
                </returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.NodeCollection`3.#ctor(Xtensive.Modelling.Node,System.String)">
      <inheritdoc />
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection`3.Parent">
      <summary>
            Gets the parent node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection`3.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection`3.Item(System.Int32)">
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.NodeCollection`3.Item(System.String)">
      <summary>
            An indexer that provides access to collection items by their index.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.NodeState">
      <summary>
            Enumerates possible states of the node.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.NodeState.Default">
      <summary>
            Default node state: <see cref="F:Xtensive.Modelling.NodeState.Initializing" />.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.NodeState.Initializing">
      <summary>
            Node isn't fully initialized yet.
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.NodeState.Live">
      <summary>
            Node is "live".
            </summary>
    </member>
    <member name="F:Xtensive.Modelling.NodeState.Removed">
      <summary>
            Node is removed.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Node`2">
      <summary>
            Abstract base class for node with specified <see cref="P:Xtensive.Modelling.Node.Model" /> 
            and <see cref="P:Xtensive.Modelling.Node.Parent" /> types.
            </summary>
      <typeparam name="TParent">The type of the parent.</typeparam>
      <typeparam name="TModel">The type of the model.</typeparam>
    </member>
    <member name="M:Xtensive.Modelling.Node`2.Move(`0,System.String,System.Int32)">
      <summary>
            Moves the node.
            </summary>
      <param name="newParent">The new parent.</param>
      <param name="newName">The new name.</param>
      <param name="newIndex">The new index.</param>
    </member>
    <member name="M:Xtensive.Modelling.Node`2.#ctor(`0,System.String)">
      <inheritdoc />
    </member>
    <member name="P:Xtensive.Modelling.Node`2.Parent">
      <summary>
            Gets the parent node.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Node`2.Model">
      <summary>
            Gets the model this node belongs to.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.PathNodeExtensions">
      <summary>
            Extension methods to <see cref="T:Xtensive.Modelling.IPathNode" /> type.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.PathNodeExtensions.Resolve(Xtensive.Modelling.IPathNode,System.String,System.Boolean)">
      <summary>
            Gets the child node by its path.
            </summary>
      <param name="path">Path to the node to get.</param>
      <param name="throwIfNone">Indicates whether an exception 
            must be thrown if there is no node with the specified path, or not.</param>
      <returns>
            Path node, if found;
            otherwise, <see langword="null" />.
            </returns>
    </member>
    <member name="T:Xtensive.Modelling.PropertyAccessor">
      <summary>
            Property accessor.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessor.GetDependencyRoot(Xtensive.Modelling.IPathNode)">
      <summary>
            Gets the dependency root object.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessor.#ctor(System.Reflection.PropertyInfo)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.PropertyAccessor" /> class.
            </summary>
      <param name="propertyInfo">The property info this accessor is bound to.</param>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.PropertyInfo">
      <summary>
            Gets <see cref="T:System.Reflection.PropertyInfo" /> of property 
            this accessor is bound to.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.IsSystem">
      <summary>
            Gets a value indicating whether underlying property is system.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.Priority">
      <summary>
            Gets the <see cref="P:Xtensive.Modelling.Attributes.PropertyAttribute.Priority" /> of the property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.IgnoreInComparison">
      <summary>
            Gets a value indicating whether underlying property must be ignored in comparison.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.CaseInsensitiveComparison">
      <summary>
            Gets a value indicating whether property values are compared case insensitively.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.IsImmutable">
      <summary>
            Gets a value indicating whether underlying property value must be re-created
            rather than created &amp; processed as usual.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.IsVolatile">
      <summary>
            Gets a value indicating whether underlying property must be 
            ignored during recreation of parent atomic property.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.RecreateParent">
      <summary>
            Gets or sets a value indicating whether property owner should be recreated on property value change.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.DependencyRootType">
      <summary>
            Gets the dependency root type.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.Getter">
      <summary>
            Gets the property getter delegate.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.HasGetter">
      <summary>
            Gets a value indicating whether this instance has getter.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.Setter">
      <summary>
            Gets the property setter delegate.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.Default">
      <summary>
            Gets or sets the default property value.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.PropertyAccessor.HasSetter">
      <summary>
            Gets a value indicating whether this instance has setter.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.PropertyAccessorDictionary">
      <summary>
            Read-only <see cref="T:Xtensive.Modelling.PropertyAccessor" /> dictionary.
            Items returned by its enumerator are ordered by item <see cref="P:Xtensive.Modelling.PropertyAccessor.Priority" />.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessorDictionary.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessorDictionary.System#Collections#Generic#IEnumerable{Xtensive#Modelling#PropertyAccessor}#GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
      <filterpriority>1</filterpriority>
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessorDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,Xtensive.Modelling.PropertyAccessor})">
      <inheritdoc />
    </member>
    <member name="M:Xtensive.Modelling.PropertyAccessorDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,Xtensive.Modelling.PropertyAccessor},System.Boolean)">
      <inheritdoc />
    </member>
    <member name="T:Xtensive.Modelling.Resources.Strings">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ActualTargetModel">
      <summary>
              Looks up a localized string similar to Actual target model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.Difference">
      <summary>
              Looks up a localized string similar to Difference.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.DifferenceFormat">
      <summary>
              Looks up a localized string similar to "{1}" != "{2}" ({0}): {3}.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.DifferencePropertyNamePrefix">
      <summary>
              Looks up a localized string similar to +{0}: .
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExBindingFailedForX">
      <summary>
              Looks up a localized string similar to Binding has failed for {0}. Check property declaration..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExBothSourceAndTargetAreNull">
      <summary>
              Looks up a localized string similar to Both Source and Target are null..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExCannotFindConstructorToExecuteX">
      <summary>
              Looks up a localized string similar to Can't find a constructor to execute {0}..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExDifferenceRelatedToXTypeIsNotFoundOnTheUpgradeContextStack">
      <summary>
              Looks up a localized string similar to Difference related to {0} type is not found on the UpgradeContext stack..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidAfterPathPropertyValue">
      <summary>
              Looks up a localized string similar to Invalid AfterPath property value..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidContextActivationSequence">
      <summary>
              Looks up a localized string similar to Invalid context activation sequence..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidContextDeactivationSequence">
      <summary>
              Looks up a localized string similar to Invalid context deactivation sequence..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidNestingOfNodeX">
      <summary>
              Looks up a localized string similar to Invalid Nesting of node "{0}"..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidNodeState">
      <summary>
              Looks up a localized string similar to Invalid node state..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExInvalidParentValue">
      <summary>
              Looks up a localized string similar to Invalid Parent value..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExItemAlreadyExists">
      <summary>
              Looks up a localized string similar to Item already exists..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExItemWithNameXAlreadyExists">
      <summary>
              Looks up a localized string similar to Item with name '{0}' already exists..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExItemWithNameXIsNotFound">
      <summary>
              Looks up a localized string similar to Item with Name '{0}' is not found..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExLoopInActionDependencyChain">
      <summary>
              Looks up a localized string similar to Loop in action dependency chain is detected..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExModelObjectCannotBeRemoved">
      <summary>
              Looks up a localized string similar to Model object cannot be removed..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExMultipleHintsFound">
      <summary>
              Looks up a localized string similar to Multiple hints found..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExNoCurrentComparer">
      <summary>
              Looks up a localized string similar to Comparer.Current is null..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExNoCurrentUpgrader">
      <summary>
              Looks up a localized string similar to Upgarder.Current is null..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExNodeXMustBeProcessedBeforeBeingComparedAsReferenceValueOfYZ">
      <summary>
              Looks up a localized string similar to Node "{0}" must be processed before being compared as reference (value of "{1}".{2})..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExNoNesting">
      <summary>
              Looks up a localized string similar to Nesting must be created for any node..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExPathXNotFound">
      <summary>
              Looks up a localized string similar to Node with path "{0}" is not found..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExpectedTargetModel">
      <summary>
              Looks up a localized string similar to Expected target model.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExPropertyValueMustBelongToTheSameModel">
      <summary>
              Looks up a localized string similar to Property value must belong to the same Model..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExPropertyXYIsNotFound">
      <summary>
              Looks up a localized string similar to Property "{0}.{1}" is not found..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExTargetObjectExistsX">
      <summary>
              Looks up a localized string similar to Target object already exists: "{0}". To assign a new one, you must remove the old one first..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExTypeOfXPropertyMustBeY">
      <summary>
              Looks up a localized string similar to Type of {0} property must be {1}..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ExUpgradeSequenceValidationFailure">
      <summary>
              Looks up a localized string similar to Upgrade sequence validation failure..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ItemChangeCountFormat">
      <summary>
              Looks up a localized string similar to {0} change(s).
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.ItemChangeFormat">
      <summary>
              Looks up a localized string similar to {0}.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.LogAutomaticUpgradeSequenceValidation">
      <summary>
              Looks up a localized string similar to Automatic upgrade sequence validation.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.LogItemFormat">
      <summary>
              Looks up a localized string similar to {0}:.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.LogValidationFailed">
      <summary>
              Looks up a localized string similar to Validation failed..
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.NodeInfoFormat">
      <summary>
              Looks up a localized string similar to {0} ({1}).
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.PropertyChangeFormat">
      <summary>
              Looks up a localized string similar to +{0}: {1}.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Resources.Strings.UpgradeSequence">
      <summary>
              Looks up a localized string similar to Upgrade sequence.
            </summary>
    </member>
    <member name="T:Xtensive.Modelling.Validation.ValidationContext">
      <summary>
            Model validation context.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationContext.IsValidated(System.Object)">
      <summary>
            Determines whether the specified target is validated.
            </summary>
      <param name="target">The target to check.</param>
      <returns>
        <see langword="true" /> if the specified target is validated; 
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationContext.IsValidated(System.Object,System.Boolean)">
      <summary>
            Determines whether the specified target is validated.
            </summary>
      <param name="target">The target to check.</param>
      <param name="markAsValidated">If set to <see langword="true" />, target will be marked as validated.</param>
      <returns>
        <see langword="true" /> if the specified target is validated; 
            otherwise, <see langword="false" />.
            </returns>
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationContext.Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.Validation.ValidationScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationContext.Xtensive#Core#IoC#IContext#Activate">
      <summary>
            Activates the current context.
            </summary>
      <returns>
        <see cref="T:Xtensive.Modelling.Validation.ValidationScope" /> object (normally - <see cref="T:Xtensive.Core.IoC.Scope`1" /> descendant)
            that can be used to deactivate the context by disposing it.</returns>
      <seealso cref="P:Xtensive.Core.IoC.IContext.IsActive" />
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationContext.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Validation.ValidationContext" /> class.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Validation.ValidationContext.Current">
      <summary>
            Gets the current validation context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Validation.ValidationContext.IsActive">
      <summary>
            Indicates whether current context is active.
            </summary>
      <seealso cref="M:Xtensive.Core.IoC.IContext.Activate" />
    </member>
    <member name="T:Xtensive.Modelling.Validation.ValidationScope">
      <summary>
            Model validation scope.
            </summary>
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationScope.Open">
      <summary>
            Opens a validation context and scope.
            </summary>
      <returns>A new <see cref="T:Xtensive.Modelling.Validation.ValidationScope" />, if there is no 
            <see cref="P:Xtensive.Modelling.Validation.ValidationContext.Current" /> validation context;
            otherwise, <see langword="null" />.</returns>
    </member>
    <member name="M:Xtensive.Modelling.Validation.ValidationScope.#ctor(Xtensive.Modelling.Validation.ValidationContext)">
      <summary>
            Initializes a new instance of the <see cref="T:Xtensive.Modelling.Validation.ValidationScope" /> class.
            </summary>
      <param name="context">The context.</param>
    </member>
    <member name="P:Xtensive.Modelling.Validation.ValidationScope.CurrentContext">
      <summary>
            Gets the current context.
            </summary>
    </member>
    <member name="P:Xtensive.Modelling.Validation.ValidationScope.Context">
      <summary>
            Gets the associated validation context.
            </summary>
    </member>
  </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO
Germany Germany
I'm a Senior Software Consultant
Thomas Maierhofer Consulting

Comments and Discussions