<?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 & 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 & 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>