Initialer Stand
This commit is contained in:
BIN
packages/Antlr3.Runtime.3.5.1/.signature.p7s
vendored
Normal file
BIN
packages/Antlr3.Runtime.3.5.1/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Antlr3.Runtime.3.5.1/Antlr3.Runtime.3.5.1.nupkg
vendored
Normal file
BIN
packages/Antlr3.Runtime.3.5.1/Antlr3.Runtime.3.5.1.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.dll
vendored
Normal file
BIN
packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.dll
vendored
Normal file
Binary file not shown.
3249
packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.xml
vendored
Normal file
3249
packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.dll
vendored
Normal file
BIN
packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.dll
vendored
Normal file
Binary file not shown.
3249
packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.xml
vendored
Normal file
3249
packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.dll
vendored
Normal file
BIN
packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.dll
vendored
Normal file
Binary file not shown.
3220
packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.xml
vendored
Normal file
3220
packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
packages/Iesi.Collections.4.0.4/.signature.p7s
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Iesi.Collections.4.0.4/Iesi.Collections.4.0.4.nupkg
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/Iesi.Collections.4.0.4.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/Iesi.Collections.4.0.4/lib/net40/Iesi.Collections.dll
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/lib/net40/Iesi.Collections.dll
vendored
Normal file
Binary file not shown.
552
packages/Iesi.Collections.4.0.4/lib/net40/Iesi.Collections.xml
vendored
Normal file
552
packages/Iesi.Collections.4.0.4/lib/net40/Iesi.Collections.xml
vendored
Normal file
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Iesi.Collections</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Iesi.Collections.Generic.LinkedHashSet`1">
|
||||
<summary>
|
||||
Implementation of ISet that also maintains a linked list over all elements.
|
||||
Enumeration of this set is guaranteed to return the elements in the order
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
<param name="initialValues"></param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a proper (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CountOthers(System.Collections.Generic.IEnumerable{`0},System.Int32@)">
|
||||
<summary>
|
||||
Count the elements in the given collection and determine both the total
|
||||
count and how many of the elements that are present in the current set.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.AsSet(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Cast the given collection to an ISet<T> if possible. If not,
|
||||
return a new set containing the items.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Unlink(Iesi.Collections.Generic.LinkedHashSet{`0}.LinkedHashNode{`0})">
|
||||
<summary>
|
||||
Unlink a node from the linked list by updating the node pointers in
|
||||
its preceeding and subsequent node. Also update the _first and _last
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
|
||||
wrapped set can still change the set.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs an immutable (read-only) <c>Set</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.ReadOnlySet`1.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:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
serializing critical sections to prevent possible deadlocks, and locking on everything.
|
||||
The one exception is for enumeration, which is inherently not thread-safe. For this, you
|
||||
have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs a thread-safe <c>ISet</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Iesi.Collections.4.0.4/lib/net461/Iesi.Collections.dll
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/lib/net461/Iesi.Collections.dll
vendored
Normal file
Binary file not shown.
552
packages/Iesi.Collections.4.0.4/lib/net461/Iesi.Collections.xml
vendored
Normal file
552
packages/Iesi.Collections.4.0.4/lib/net461/Iesi.Collections.xml
vendored
Normal file
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Iesi.Collections</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Iesi.Collections.Generic.LinkedHashSet`1">
|
||||
<summary>
|
||||
Implementation of ISet that also maintains a linked list over all elements.
|
||||
Enumeration of this set is guaranteed to return the elements in the order
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
<param name="initialValues"></param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a proper (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CountOthers(System.Collections.Generic.IEnumerable{`0},System.Int32@)">
|
||||
<summary>
|
||||
Count the elements in the given collection and determine both the total
|
||||
count and how many of the elements that are present in the current set.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.AsSet(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Cast the given collection to an ISet<T> if possible. If not,
|
||||
return a new set containing the items.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Unlink(Iesi.Collections.Generic.LinkedHashSet{`0}.LinkedHashNode{`0})">
|
||||
<summary>
|
||||
Unlink a node from the linked list by updating the node pointers in
|
||||
its preceeding and subsequent node. Also update the _first and _last
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
|
||||
wrapped set can still change the set.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs an immutable (read-only) <c>Set</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.ReadOnlySet`1.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:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
serializing critical sections to prevent possible deadlocks, and locking on everything.
|
||||
The one exception is for enumeration, which is inherently not thread-safe. For this, you
|
||||
have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs a thread-safe <c>ISet</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Iesi.Collections.4.0.4/lib/netstandard1.0/Iesi.Collections.dll
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/lib/netstandard1.0/Iesi.Collections.dll
vendored
Normal file
Binary file not shown.
552
packages/Iesi.Collections.4.0.4/lib/netstandard1.0/Iesi.Collections.xml
vendored
Normal file
552
packages/Iesi.Collections.4.0.4/lib/netstandard1.0/Iesi.Collections.xml
vendored
Normal file
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Iesi.Collections</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Iesi.Collections.Generic.LinkedHashSet`1">
|
||||
<summary>
|
||||
Implementation of ISet that also maintains a linked list over all elements.
|
||||
Enumeration of this set is guaranteed to return the elements in the order
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
<param name="initialValues"></param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a proper (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CountOthers(System.Collections.Generic.IEnumerable{`0},System.Int32@)">
|
||||
<summary>
|
||||
Count the elements in the given collection and determine both the total
|
||||
count and how many of the elements that are present in the current set.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.AsSet(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Cast the given collection to an ISet<T> if possible. If not,
|
||||
return a new set containing the items.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Unlink(Iesi.Collections.Generic.LinkedHashSet{`0}.LinkedHashNode{`0})">
|
||||
<summary>
|
||||
Unlink a node from the linked list by updating the node pointers in
|
||||
its preceeding and subsequent node. Also update the _first and _last
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
|
||||
wrapped set can still change the set.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs an immutable (read-only) <c>Set</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.ReadOnlySet`1.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:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
serializing critical sections to prevent possible deadlocks, and locking on everything.
|
||||
The one exception is for enumeration, which is inherently not thread-safe. For this, you
|
||||
have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs a thread-safe <c>ISet</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Iesi.Collections.4.0.4/lib/netstandard1.3/Iesi.Collections.dll
vendored
Normal file
BIN
packages/Iesi.Collections.4.0.4/lib/netstandard1.3/Iesi.Collections.dll
vendored
Normal file
Binary file not shown.
552
packages/Iesi.Collections.4.0.4/lib/netstandard1.3/Iesi.Collections.xml
vendored
Normal file
552
packages/Iesi.Collections.4.0.4/lib/netstandard1.3/Iesi.Collections.xml
vendored
Normal file
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Iesi.Collections</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Iesi.Collections.Generic.LinkedHashSet`1">
|
||||
<summary>
|
||||
Implementation of ISet that also maintains a linked list over all elements.
|
||||
Enumeration of this set is guaranteed to return the elements in the order
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
<param name="initialValues"></param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a proper (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CountOthers(System.Collections.Generic.IEnumerable{`0},System.Int32@)">
|
||||
<summary>
|
||||
Count the elements in the given collection and determine both the total
|
||||
count and how many of the elements that are present in the current set.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.AsSet(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Cast the given collection to an ISet<T> if possible. If not,
|
||||
return a new set containing the items.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Unlink(Iesi.Collections.Generic.LinkedHashSet{`0}.LinkedHashNode{`0})">
|
||||
<summary>
|
||||
Unlink a node from the linked list by updating the node pointers in
|
||||
its preceeding and subsequent node. Also update the _first and _last
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
|
||||
wrapped set can still change the set.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs an immutable (read-only) <c>Set</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#IEnumerable#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:Iesi.Collections.Generic.ReadOnlySet`1.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:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
serializing critical sections to prevent possible deadlocks, and locking on everything.
|
||||
The one exception is for enumeration, which is inherently not thread-safe. For this, you
|
||||
have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs a thread-safe <c>ISet</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</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>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/NHibernate.5.5.2/.signature.p7s
vendored
Normal file
BIN
packages/NHibernate.5.5.2/.signature.p7s
vendored
Normal file
Binary file not shown.
32
packages/NHibernate.5.5.2/ConfigurationTemplates/FireBird.cfg.xml
vendored
Normal file
32
packages/NHibernate.5.5.2/ConfigurationTemplates/FireBird.cfg.xml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
To work with FireBird you must add the assembly binding for FirebirdClient ADO.NET 2.0 DataProvider
|
||||
to your App.config.
|
||||
Example:
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<qualifyAssembly partialName="FirebirdSql.Data.FirebirdClient" fullName="FirebirdSql.Data.FirebirdClient, Version=2.0.1.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c" />
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
-->
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.FirebirdClientDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
DataSource=localhost;
|
||||
Database=nhibernate;
|
||||
User ID=SYSDBA;Password=masterkey;
|
||||
MaxPoolSize=200;
|
||||
charset=utf8;
|
||||
</property>
|
||||
<property name="show_sql">false</property>
|
||||
<property name="dialect">NHibernate.Dialect.FirebirdDialect</property>
|
||||
<property name="command_timeout">60</property>
|
||||
<property name="query.substitutions">true 1, false 0, yes 1, no 0</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
18
packages/NHibernate.5.5.2/ConfigurationTemplates/HANA.cfg.xml
vendored
Normal file
18
packages/NHibernate.5.5.2/ConfigurationTemplates/HANA.cfg.xml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.HanaColumnStoreDriver</property>
|
||||
<!-- Sap.Data.Hana does not support re-enlisting in the same transaction, wrecking many usages
|
||||
with NHibernate when both NHibernate and the connection performs auto-enlistment. -->
|
||||
<property name="connection.connection_string">
|
||||
Server=localhost:39015;UserID=nhibernate;Password=;
|
||||
Enlist=false;
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.HanaColumnStoreDialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
16
packages/NHibernate.5.5.2/ConfigurationTemplates/MSSQL.cfg.xml
vendored
Normal file
16
packages/NHibernate.5.5.2/ConfigurationTemplates/MSSQL.cfg.xml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<!-- This is the System.Data.dll provider for SQL Server -->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.Sql2008ClientDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
Server=(local);initial catalog=nhibernate;Integrated Security=SSPI
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
16
packages/NHibernate.5.5.2/ConfigurationTemplates/MySql.cfg.xml
vendored
Normal file
16
packages/NHibernate.5.5.2/ConfigurationTemplates/MySql.cfg.xml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
Database=nhibernate;Data Source=localhost;User Id=nhibernate;Password=;
|
||||
Old Guids=True;
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
25
packages/NHibernate.5.5.2/ConfigurationTemplates/Oracle-Managed.cfg.xml
vendored
Normal file
25
packages/NHibernate.5.5.2/ConfigurationTemplates/Oracle-Managed.cfg.xml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<!-- This is the System.Data.OracleClient.dll provider for Oracle from MS -->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.OracleManagedDataClientDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
User ID=nhibernate;Password=nhibernate;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
|
||||
</property>
|
||||
<property name="show_sql">false</property>
|
||||
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
|
||||
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
|
||||
<!-- If your database setup use an ASCII charset, switch following property to true. -->
|
||||
<property name="oracle.use_n_prefixed_types_for_unicode">false</property>
|
||||
<!-- Depending on your database setup, the default cast length of 4000 may be too big.
|
||||
By example, if previous setting is true, NHibernate may try to use nvarchar2(4000),
|
||||
which will be rejected if its underlying charset is UTF16 and the database
|
||||
MAX_STRING_SIZE is not extended. In such case, reduce it to 2000. -->
|
||||
<property name="query.default_cast_length"></property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
25
packages/NHibernate.5.5.2/ConfigurationTemplates/Oracle.cfg.xml
vendored
Normal file
25
packages/NHibernate.5.5.2/ConfigurationTemplates/Oracle.cfg.xml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<!-- This is the System.Data.OracleClient.dll provider for Oracle from MS -->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
User ID=nhibernate;Password=nhibernate;Data Source=localhost
|
||||
</property>
|
||||
<property name="show_sql">false</property>
|
||||
<property name="dialect">NHibernate.Dialect.OracleDialect</property>
|
||||
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
|
||||
<!-- If your database setup use an ASCII charset, switch following property to true. -->
|
||||
<property name="oracle.use_n_prefixed_types_for_unicode">false</property>
|
||||
<!-- Depending on your database setup, the default cast length of 4000 may be too big.
|
||||
By example, if previous setting is true, NHibernate may try to use nvarchar2(4000),
|
||||
which will be rejected if its underlying charset is UTF16 and the database
|
||||
MAX_STRING_SIZE is not extended. In such case, reduce it to 2000. -->
|
||||
<property name="query.default_cast_length"></property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
15
packages/NHibernate.5.5.2/ConfigurationTemplates/PostgreSQL.cfg.xml
vendored
Normal file
15
packages/NHibernate.5.5.2/ConfigurationTemplates/PostgreSQL.cfg.xml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.NpgsqlDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
Server=localhost;Database=nhibernate;User ID=nhibernate;Password=nhibernate;Enlist=true;
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.PostgreSQL83Dialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
20
packages/NHibernate.5.5.2/ConfigurationTemplates/SQLite.cfg.xml
vendored
Normal file
20
packages/NHibernate.5.5.2/ConfigurationTemplates/SQLite.cfg.xml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.SQLite20Driver</property>
|
||||
<!-- DateTimeFormatString allows to prevent storing the fact that written date was having kind UTC,
|
||||
which dodges the undesirable time conversion to local done on reads by System.Data.SQLite.
|
||||
See https://system.data.sqlite.org/index.html/tktview/44a0955ea344a777ffdbcc077831e1adc8b77a36
|
||||
and https://github.com/nhibernate/nhibernate-core/issues/1362 -->
|
||||
<property name="connection.connection_string">
|
||||
Data Source=nhibernate.db;
|
||||
DateTimeFormatString=yyyy-MM-dd HH:mm:ss.FFFFFFF;
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
21
packages/NHibernate.5.5.2/ConfigurationTemplates/SapSQLAnywhere.cfg.xml
vendored
Normal file
21
packages/NHibernate.5.5.2/ConfigurationTemplates/SapSQLAnywhere.cfg.xml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it hibernate.cfg.xml. Change it
|
||||
for your own use before compiling tests in Visual Studio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.SapSQLAnywhere17Driver</property>
|
||||
<!-- Sap.Data.SQLAnywhere does not support re-enlisting in the same transaction, wrecking many usages
|
||||
with NHibernate when both NHibernate and the connection performs auto-enlistment. Setting
|
||||
"Enlist=false;" in the connection string solves this.
|
||||
It also requires to have the MSDTC service running, even for transaction scopes using a
|
||||
single connection. -->
|
||||
<property name="connection.connection_string">
|
||||
UID=DBA;PWD=sql;Server=localhost;DBN=nhibernate;DBF=c:\nhibernate.db;ASTOP=No;Enlist=false;
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.SapSQLAnywhere17Dialect</property>
|
||||
<property name="query.substitutions">true=1;false=0</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
17
packages/NHibernate.5.5.2/ConfigurationTemplates/SqlServerCe.cfg.xml
vendored
Normal file
17
packages/NHibernate.5.5.2/ConfigurationTemplates/SqlServerCe.cfg.xml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
|
||||
for your own use before compile tests in VisualStudio.
|
||||
-->
|
||||
<!-- This is the System.Data.dll provider for SQL Server -->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="command_timeout">0</property>
|
||||
<property name="connection.driver_class">NHibernate.Driver.SqlServerCeDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
Data Source=NHibernate.sdf
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.MsSqlCe40Dialect</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
16
packages/NHibernate.5.5.2/ConfigurationTemplates/SybaseASE.cfg.xml
vendored
Normal file
16
packages/NHibernate.5.5.2/ConfigurationTemplates/SybaseASE.cfg.xml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it hibernate.cfg.xml. Change it
|
||||
for your own use before compiling tests in Visual Studio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.SybaseAseClientDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
Data Source=10.0.0.1;Port=5000;Database=nhibernate;User ID=nhibernate;Password=password
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.SybaseASE15Dialect</property>
|
||||
<property name="query.substitutions">true=1;false=0</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
16
packages/NHibernate.5.5.2/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml
vendored
Normal file
16
packages/NHibernate.5.5.2/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This template was written to work with NHibernate.Test.
|
||||
Copy the template to your NHibernate.Test project folder and rename it hibernate.cfg.xml. Change it
|
||||
for your own use before compiling tests in Visual Studio.
|
||||
-->
|
||||
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
|
||||
<session-factory name="NHibernate.Test">
|
||||
<property name="connection.driver_class">NHibernate.Driver.SybaseSQLAnywhereDriver</property>
|
||||
<property name="connection.connection_string">
|
||||
UID=DBA;PWD=sql;Server=localhost;DBN=nhibernate;DBF=c:\nhibernate.db;ASTOP=No
|
||||
</property>
|
||||
<property name="dialect">NHibernate.Dialect.SybaseSQLAnywhere12Dialect</property>
|
||||
<property name="query.substitutions">true=1;false=0</property>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
BIN
packages/NHibernate.5.5.2/NHibernate-NuGet.png
vendored
Normal file
BIN
packages/NHibernate.5.5.2/NHibernate-NuGet.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
BIN
packages/NHibernate.5.5.2/NHibernate.5.5.2.nupkg
vendored
Normal file
BIN
packages/NHibernate.5.5.2/NHibernate.5.5.2.nupkg
vendored
Normal file
Binary file not shown.
460
packages/NHibernate.5.5.2/NHibernate.license.txt
vendored
Normal file
460
packages/NHibernate.5.5.2/NHibernate.license.txt
vendored
Normal file
@@ -0,0 +1,460 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
116
packages/NHibernate.5.5.2/NHibernate.readme.md
vendored
Normal file
116
packages/NHibernate.5.5.2/NHibernate.readme.md
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
Welcome to NHibernate
|
||||
=====================
|
||||
|
||||
NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed,
|
||||
fully featured and used in thousands of successful projects.
|
||||
|
||||
The NHibernate community website - <https://nhibernate.info> - has a range of resources to help you get started,
|
||||
including [howtos][A1], [blogs][A2] and [reference documentation][A3].
|
||||
|
||||
[A1]: https://nhibernate.info/doc/
|
||||
[A2]: https://nhibernate.info/blog/
|
||||
[A3]: https://nhibernate.info/doc/nh/en/index.html
|
||||
|
||||
Latest Release Version
|
||||
--------------
|
||||
|
||||
The quickest way to get the latest release of NHibernate is to add it to your project using
|
||||
NuGet (<https://nuget.org/List/Packages/NHibernate>).
|
||||
|
||||
Alternatively binaries are available from SourceForge at <http://sourceforge.net/projects/nhibernate>.
|
||||
|
||||
You are encouraged to review the release notes ([releasenotes.txt](releasenotes.txt)), particularly when upgrading to a
|
||||
later version. The release notes will generally document any breaking changes.
|
||||
|
||||
Nightly Development Builds
|
||||
--------------------------
|
||||
|
||||
The quickest way to get the latest development build of NHibernate is to add it to your project using
|
||||
NuGet from Cloudsmith feed (<https://cloudsmith.io/~nhibernate/repos/nhibernate-core/packages/>).
|
||||
|
||||
In order to make life a little bit easier you can register the package source in the NuGet.Config
|
||||
file in the top folder of your project, similar to the following.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="NHibernateDevBuilds" value="https://nuget.cloudsmith.io/nhibernate/nhibernate-core/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
```
|
||||
|
||||
Package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com).
|
||||
Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that
|
||||
enables your organization to create, store and share packages in any format, to any place, with total
|
||||
confidence.
|
||||
|
||||
[](https://cloudsmith.com)
|
||||
|
||||
Community Forums
|
||||
----------------
|
||||
|
||||
There are two official NHibernate community forums:
|
||||
|
||||
* [NHibernate Users][B1] - a forum for users to find help using NHibernate
|
||||
* [NHibernate Development][B2] - a forum for the developers of NHibernate
|
||||
|
||||
[B1]: http://groups.google.com/group/nhusers
|
||||
[B2]: http://groups.google.com/group/nhibernate-development
|
||||
|
||||
Bug Reports
|
||||
-----------
|
||||
|
||||
If you find any bugs, please report them using the [GitHub issue tracker][C1]. A
|
||||
test-case that demonstrates the issue is usually required. Instructions on providing a test-case
|
||||
can be found in [contributing guidelines][C3] or [here][C2].
|
||||
|
||||
[C1]: https://github.com/nhibernate/nhibernate-core/issues
|
||||
[C2]: https://nhibernate.info/blog/2008/10/04/the-best-way-to-solve-nhibernate-bugs-submit-good-unit-test.html
|
||||
[C3]: CONTRIBUTING.md
|
||||
|
||||
Licenses
|
||||
--------
|
||||
|
||||
- This software is distributed under the terms of the Free Software Foundation [Lesser GNU Public License (LGPL), version 2.1][D1] (see [LICENSE.txt][D2]).
|
||||
- The documentation for this software is distributed under the terms of the Free Software Foundation [GNU Free Documentation License (GNU FDL), version 1.1][D3] (see [doc/LICENSE.txt][D4]).
|
||||
|
||||
[D1]: http://www.gnu.org/licenses/lgpl-2.1-standalone.html
|
||||
[D2]: LICENSE.txt
|
||||
[D3]: http://www.gnu.org/licenses/old-licenses/fdl-1.1-standalone.html
|
||||
[D4]: doc/LICENSE.txt
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
Many thanks to the following individuals, organisations and projects whose work is so important to the success
|
||||
of NHibernate (in no particular order):
|
||||
|
||||
* [NUnit][] - unit-testing
|
||||
* [Nant][] - build automation
|
||||
* [CodeBetter][] - [TeamCity][] continuous integration and build management server hosting
|
||||
* [GitHub][] and [SourceForge][] - source code hosting
|
||||
* [Atlassian][] - JIRA bug tracker licence and hosting
|
||||
* [Log4net][] - logging, by the [Apache Software Foundation][]
|
||||
* [JetBrains][] - [ReSharper][] licences for NHibernate developers
|
||||
* [LinFu][] - proxy implementation (Philip Laureano)
|
||||
* Iesi.Collections - source code taken from an [article][] written by Jason Smith
|
||||
* [Relinq][] - Linq provider for NHibernate
|
||||
* [AsyncGenerator][] - Roslyn based async C# code generator by @maca88
|
||||
|
||||
|
||||
[NUnit]: http://www.nunit.org
|
||||
[Nant]: http://nant.sourceforge.net
|
||||
[CodeBetter]: http://www.codebetter.com
|
||||
[TeamCity]: http://www.jetbrains.com/teamcity
|
||||
[GitHub]: http://www.github.com
|
||||
[SourceForge]: http://www.sourceforge.net
|
||||
[Atlassian]: http://www.atlassian.com
|
||||
[Log4net]: http://logging.apache.org/log4net
|
||||
[Apache Software Foundation]: http://www.apache.org
|
||||
[JetBrains]: http://www.jetbrains.com
|
||||
[ReSharper]: http://www.jetbrains.com/resharper
|
||||
[LinFu]: https://github.com/philiplaureano/LinFu
|
||||
[article]: http://www.codeproject.com/KB/recipes/sets.aspx
|
||||
[Relinq]: https://github.com/re-motion/Relinq
|
||||
[AsyncGenerator]: http://github.com/maca88/AsyncGenerator
|
||||
5495
packages/NHibernate.5.5.2/NHibernate.releasenotes.txt
vendored
Normal file
5495
packages/NHibernate.5.5.2/NHibernate.releasenotes.txt
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/net461/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/net461/NHibernate.dll
vendored
Normal file
Binary file not shown.
60034
packages/NHibernate.5.5.2/lib/net461/NHibernate.xml
vendored
Normal file
60034
packages/NHibernate.5.5.2/lib/net461/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/net48/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/net48/NHibernate.dll
vendored
Normal file
Binary file not shown.
60034
packages/NHibernate.5.5.2/lib/net48/NHibernate.xml
vendored
Normal file
60034
packages/NHibernate.5.5.2/lib/net48/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/net6.0/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/net6.0/NHibernate.dll
vendored
Normal file
Binary file not shown.
59983
packages/NHibernate.5.5.2/lib/net6.0/NHibernate.xml
vendored
Normal file
59983
packages/NHibernate.5.5.2/lib/net6.0/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/netcoreapp2.0/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/netcoreapp2.0/NHibernate.dll
vendored
Normal file
Binary file not shown.
59983
packages/NHibernate.5.5.2/lib/netcoreapp2.0/NHibernate.xml
vendored
Normal file
59983
packages/NHibernate.5.5.2/lib/netcoreapp2.0/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/netstandard2.0/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/netstandard2.0/NHibernate.dll
vendored
Normal file
Binary file not shown.
59975
packages/NHibernate.5.5.2/lib/netstandard2.0/NHibernate.xml
vendored
Normal file
59975
packages/NHibernate.5.5.2/lib/netstandard2.0/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/NHibernate.5.5.2/lib/netstandard2.1/NHibernate.dll
vendored
Normal file
BIN
packages/NHibernate.5.5.2/lib/netstandard2.1/NHibernate.dll
vendored
Normal file
Binary file not shown.
59983
packages/NHibernate.5.5.2/lib/netstandard2.1/NHibernate.xml
vendored
Normal file
59983
packages/NHibernate.5.5.2/lib/netstandard2.1/NHibernate.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
522
packages/NHibernate.5.5.2/nhibernate-configuration.xsd
vendored
Normal file
522
packages/NHibernate.5.5.2/nhibernate-configuration.xsd
vendored
Normal file
@@ -0,0 +1,522 @@
|
||||
<xs:schema targetNamespace="urn:nhibernate-configuration-2.2" xmlns="urn:nhibernate-configuration-2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:NS="urn:nhibernate-configuration-2.2">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
-- This schema was automatically generated by Syntext Dtd2Schema and changed for NH use --
|
||||
-- conversion tool (from file: hibernate-configuration-3.0.dtd) --
|
||||
-- Copyright (C) 2002, 2003 Syntext Inc. See http://www.syntext.com for updates. --
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<!-- Type definitions -->
|
||||
<xs:element name="hibernate-configuration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="bytecode-provider" minOccurs="0" maxOccurs="1" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
There are 2 default short-cut values
|
||||
- lcg : default for .NET2.0 and higher.
|
||||
- null : Disable the reflection optimization completely.
|
||||
In addition you can specify the AssemblyQualifiedName of your custom bytecode-provider (implementation of IBytecodeProvider).
|
||||
Note: the bytecode-provider will be effective only when specified in the app.config or web.config.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="objects-factory" minOccurs="0" maxOccurs="1" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specify the AssemblyQualifiedName of your custom objects-factory (implementation of IObjectsFactory).
|
||||
Note: the objects-factory will be effective only when specified in the app.config or web.config.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="reflection-optimizer" maxOccurs="1" minOccurs="0" />
|
||||
<xs:element ref="session-factory" minOccurs="0" maxOccurs="1" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="class-cache">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="class" type="xs:string" use="required" />
|
||||
<xs:attributeGroup ref="cacheSpecification" />
|
||||
<xs:attribute name="include">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="all" />
|
||||
<xs:enumeration value="non-lazy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="collection-cache">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
<xs:attribute name="collection" type="xs:string" use="required" />
|
||||
<xs:attributeGroup ref="cacheSpecification" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="mapping">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
There are 3 possible combinations of mapping attributes
|
||||
1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly
|
||||
2 - file only: NHibernate will read the mapping from the file.
|
||||
3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="resource" />
|
||||
<xs:attribute name="file" />
|
||||
<xs:attribute name="assembly" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="property">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="name" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:union>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="connection.provider" />
|
||||
<xs:enumeration value="connection.driver_class" />
|
||||
<xs:enumeration value="connection.connection_string" />
|
||||
<xs:enumeration value="connection.isolation" />
|
||||
<xs:enumeration value="connection.release_mode" />
|
||||
<xs:enumeration value="connection.connection_string_name" />
|
||||
<xs:enumeration value="dialect" />
|
||||
<xs:enumeration value="default_schema" />
|
||||
<xs:enumeration value="show_sql" />
|
||||
<xs:enumeration value="max_fetch_depth" />
|
||||
<xs:enumeration value="detect_fetch_loops" />
|
||||
<xs:enumeration value="current_session_context_class" />
|
||||
<xs:enumeration value="transaction.factory_class">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The class name of a custom ITransactionFactory implementation.
|
||||
Defaults to the built-in AdoNetWithSystemTransactionFactory.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="cache.provider_class" />
|
||||
<xs:enumeration value="cache.use_query_cache" />
|
||||
<xs:enumeration value="cache.query_cache_factory" />
|
||||
<xs:enumeration value="cache.read_write_lock_factory">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specify the cache lock factory to use for read-write cache regions.
|
||||
Defaults to the built-in async cache lock factory.
|
||||
Use async, or sync, or classname.of.CacheLockFactory, assembly.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="cache.use_second_level_cache" />
|
||||
<xs:enumeration value="cache.region_prefix" />
|
||||
<xs:enumeration value="cache.use_minimal_puts" />
|
||||
<xs:enumeration value="cache.default_expiration" />
|
||||
<xs:enumeration value="cache.use_sliding_expiration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The use_sliding_expiration value is whether you wish to use a
|
||||
sliding expiration or not. Defaults
|
||||
to false. Not all providers support this setting, it may be ignored.
|
||||
Check their respective
|
||||
documentation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="query.substitutions" />
|
||||
<xs:enumeration value="query.factory_class" />
|
||||
<xs:enumeration value="query.linq_provider_class" />
|
||||
<xs:enumeration value="query.imports" />
|
||||
<xs:enumeration value="query.plan_parameter_metadata_max_size" />
|
||||
<xs:enumeration value="query.plan_cache_max_size" />
|
||||
<xs:enumeration value="hbm2ddl.auto" />
|
||||
<xs:enumeration value="hbm2ddl.keywords" />
|
||||
<xs:enumeration value="hbm2ddl.throw_on_update">
|
||||
<xs:annotation>
|
||||
<!-- 6.0 TODO: should become true -->
|
||||
<xs:documentation>
|
||||
Whether to throw or not on schema auto-update failures. false by default.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="sql_exception_converter" />
|
||||
<xs:enumeration value="adonet.wrap_result_sets" />
|
||||
<xs:enumeration value="prepare_sql" />
|
||||
<xs:enumeration value="command_timeout">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set the default timeout in seconds for ADO.NET queries.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="adonet.batch_size" />
|
||||
<xs:enumeration value="use_proxy_validator" />
|
||||
<xs:enumeration value="xml.output_stylesheet" />
|
||||
<xs:enumeration value="generate_statistics" />
|
||||
<xs:enumeration value="query.startup_check" />
|
||||
<xs:enumeration value="query.throw_never_cached">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Should queries set as cacheable raise an error if they reference an entity using the cache
|
||||
strategy "never" (the default is enabled).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="default_catalog" />
|
||||
<xs:enumeration value="proxyfactory.factory_class" />
|
||||
<xs:enumeration value="adonet.factory_class" />
|
||||
<xs:enumeration value="default_batch_fetch_size" />
|
||||
<xs:enumeration value="batch_fetch_style" />
|
||||
<xs:enumeration value="default_entity_mode" />
|
||||
<xs:enumeration value="default_flush_mode" />
|
||||
<xs:enumeration value="use_sql_comments" />
|
||||
<xs:enumeration value="format_sql" />
|
||||
<xs:enumeration value="escape_backslash_in_strings">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Indicates if the database needs to have backslash escaped in string literals. The default is
|
||||
dialect dependent.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="collectiontype.factory_class" />
|
||||
<xs:enumeration value="order_inserts" />
|
||||
<xs:enumeration value="order_updates" />
|
||||
<xs:enumeration value="query.query_model_rewriter_factory" />
|
||||
<xs:enumeration value="query.pre_transformer_registrar">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The pre-transformer registrar used to register custom expression transformers.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="linqtohql.generatorsregistry" />
|
||||
<xs:enumeration value="linqtohql.legacy_preevaluation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Whether to use the legacy pre-evaluation or not in Linq queries. true by default.
|
||||
|
||||
Legacy pre-evaluation is causing special properties or functions like DateTime.Now or Guid.NewGuid()
|
||||
to be always evaluated with the .Net runtime and replaced in the query by parameter values.
|
||||
|
||||
The new pre-evaluation allows them to be converted to HQL function calls which will be run on the db
|
||||
side. This allows for example to retrieve the server time instead of the client time, or to generate
|
||||
UUIDs for each row instead of an unique one for all rows.
|
||||
|
||||
The new pre-evaluation will likely be enabled by default in the next major version (6.0).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="linqtohql.fallback_on_preevaluation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When the new pre-evaluation is enabled, should methods which translation is not supported by the current
|
||||
dialect fallback to pre-evaluation? false by default.
|
||||
|
||||
When this fallback option is enabled while legacy pre-evaluation is disabled, properties or functions
|
||||
like DateTime.Now or Guid.NewGuid() used in Linq expressions will not fail when the dialect does not
|
||||
support them, but will instead be pre-evaluated.
|
||||
|
||||
When this fallback option is disabled while legacy pre-evaluation is disabled, properties or functions
|
||||
like DateTime.Now or Guid.NewGuid() used in Linq expressions will fail when the dialect does not
|
||||
support them.
|
||||
|
||||
This option has no effect if the legacy pre-evaluation is enabled.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="odbc.explicit_datetime_scale" />
|
||||
<xs:enumeration value="adonet.batch_versioned_data" />
|
||||
<xs:enumeration value="transaction.system_completion_lock_timeout">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Timeout duration in milliseconds for the system transaction completion lock.
|
||||
|
||||
When a system transaction completes, it may have its completion events running on concurrent threads,
|
||||
after scope disposal. This occurs when the transaction is distributed.
|
||||
This notably concerns ISessionImplementor.AfterTransactionCompletion(bool, ITransaction).
|
||||
NHibernate protects the session from being concurrently used by the code following the scope disposal
|
||||
with a lock. To prevent any application freeze, this lock has a default timeout of five seconds. If the
|
||||
application appears to require longer (!) running transaction completion events, this setting allows to
|
||||
raise this timeout. -1 disables the timeout.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="transaction.use_connection_on_system_prepare">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When a system transaction is being prepared/prepared, is using connection during this process enabled?
|
||||
Default is true, for supporting FlushMode.Commit with transaction factories
|
||||
supporting system transactions. But this requires enlisting additional connections, retaining disposed
|
||||
sessions and their connections till transaction end, and may trigger undesired transaction promotions to
|
||||
distributed. Set to false for disabling using connections from system
|
||||
transaction preparation, while still benefiting from FlushMode.Auto on querying.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="transaction.auto_join">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Should sessions check on every operation whether there is an ongoing system transaction or not, and enlist
|
||||
into it if any? Default is true. It can also be controlled at session opening, with
|
||||
ISessionFactory.WithOptions. A session can also be instructed to explicitly join the current
|
||||
transaction by calling ISession.JoinTransaction. This setting has no effect when using a
|
||||
transaction factory that is not system transactions aware.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="oracle.use_n_prefixed_types_for_unicode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Oracle has a dual Unicode support model.
|
||||
Either the whole database use an Unicode encoding, and then all string types
|
||||
will be Unicode. In such case, Unicode strings should be mapped to non N prefixed
|
||||
types, such as Varchar2. This is the default.
|
||||
Or N prefixed types such as NVarchar2 are to be used for Unicode strings.
|
||||
See https://docs.oracle.com/cd/B19306_01/server.102/b14225/ch6unicode.htm#CACHCAHF
|
||||
https://docs.oracle.com/database/121/ODPNT/featOraCommand.htm#i1007557
|
||||
This setting applies only to Oracle dialects and ODP.Net managed or unmanaged driver.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="oracle.use_binary_floating_point_types">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Oracle 10g introduced BINARY_DOUBLE and BINARY_FLOAT types which are compatible with .NET
|
||||
double and float types, where FLOAT and DOUBLE are not. Oracle FLOAT and DOUBLE types do
|
||||
not conform to the IEEE standard as they are internally implemented as NUMBER type, which
|
||||
makes them an exact numeric type.
|
||||
False by default.
|
||||
See https://docs.oracle.com/database/121/TTSQL/types.htm#TTSQL126
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="oracle.suppress_decimal_invalid_cast_exception">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This setting specifies whether to suppress the InvalidCastException and return a rounded-off
|
||||
28 precision value if the Oracle NUMBER value has more than 28 precision.
|
||||
False by default.
|
||||
See https://docs.oracle.com/en/database/oracle/oracle-data-access-components/19.3/odpnt/DataReaderSuppressGetDecimalInvalidCastException.html
|
||||
This setting works only with ODP.NET 19.10 or newer.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="firebird.disable_parameter_casting">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Firebird with FirebirdSql.Data.FirebirdClient may be unable to determine the type
|
||||
of parameters in many circumstances, unless they are explicitly casted in the SQL
|
||||
query. To avoid this trouble, the NHibernate FirebirdClientDriver parses SQL
|
||||
commands for detecting parameters in them and adding an explicit SQL cast around
|
||||
parameters which may trigger the issue.
|
||||
For disabling this behavior, set this setting to true.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="sqlite.binaryguid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
SQLite can store GUIDs in binary or text form, controlled by the BinaryGuid
|
||||
connection string parameter (default is 'true'). The BinaryGuid setting will affect
|
||||
how to cast GUID to string in SQL. NHibernate will attempt to detect this
|
||||
setting automatically from the connection string, but if the connection
|
||||
or connection string is being handled by the application instead of by NHibernate,
|
||||
you can use the 'sqlite.binaryguid' NHibernate setting to override the behavior.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="sql_types.keep_datetime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Disable switching built-in NHibernate date-time types from DbType.DateTime to DbType.DateTime2
|
||||
for dialects supporting datetime2.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="query.default_cast_length">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set the default length used in casting when the target type is length bound and
|
||||
does not specify it. 4000 by default, automatically trimmed down according to dialect type registration.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="query.default_cast_precision">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set the default precision used in casting when the target type is decimal and
|
||||
does not specify it. 29 by default, automatically trimmed down according to dialect type registration.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="query.default_cast_scale">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set the default scale used in casting when the target type is decimal and
|
||||
does not specify it. 10 by default, automatically trimmed down according to dialect type registration.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="track_session_id">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set whether tracking the session id or not. When true, each session will have an unique Guid
|
||||
that can be retrieved by ISessionImplementor.SessionId, otherwise ISessionImplementor.SessionId will
|
||||
always be Guid.Empty. Session id is used for logging purpose that can be also retrieved in a static
|
||||
context by SessionIdLoggingContext.SessionId, where the current session id is stored, when tracking
|
||||
is enabled. In case the current session id won't be used, it is recommended to disable it, in order
|
||||
to increase performance.
|
||||
True by default.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="multi_tenancy.strategy">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Strategy for multi-tenancy. Supported Values: Database, None. Corresponds to MultiTenancyStrategy enum.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="multi_tenancy.connection_provider">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Connection provider for given multi-tenancy strategy. Class name implementing IMultiTenancyConnectionProvider.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="cache\.[\w._]+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="session-factory">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="mapping" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="class-cache" />
|
||||
<xs:element ref="collection-cache" />
|
||||
</xs:choice>
|
||||
<xs:element ref="event" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="listener" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attributeGroup name="cacheSpecification">
|
||||
<xs:attribute name="region" type="xs:string" use="optional" />
|
||||
<xs:attribute name="usage" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="read-only" />
|
||||
<xs:enumeration value="read-write" />
|
||||
<xs:enumeration value="nonstrict-read-write" />
|
||||
<xs:enumeration value="transactional" />
|
||||
<xs:enumeration value="never" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:attributeGroup>
|
||||
<xs:element name="event">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="listener" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="type" type="listenerType" use="required" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="listener">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
<xs:attribute name="class" type="xs:string" use="required" />
|
||||
<xs:attribute name="type" type="listenerType" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:simpleType name="listenerType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="auto-flush" />
|
||||
<xs:enumeration value="merge" />
|
||||
<xs:enumeration value="create" />
|
||||
<xs:enumeration value="create-onflush" />
|
||||
<xs:enumeration value="delete" />
|
||||
<xs:enumeration value="dirty-check" />
|
||||
<xs:enumeration value="evict" />
|
||||
<xs:enumeration value="flush" />
|
||||
<xs:enumeration value="flush-entity" />
|
||||
<xs:enumeration value="load" />
|
||||
<xs:enumeration value="load-collection" />
|
||||
<xs:enumeration value="lock" />
|
||||
<xs:enumeration value="refresh" />
|
||||
<xs:enumeration value="replicate" />
|
||||
<xs:enumeration value="save-update" />
|
||||
<xs:enumeration value="save" />
|
||||
<xs:enumeration value="pre-update" />
|
||||
<xs:enumeration value="update" />
|
||||
<xs:enumeration value="pre-load" />
|
||||
<xs:enumeration value="pre-delete" />
|
||||
<xs:enumeration value="pre-insert" />
|
||||
<xs:enumeration value="post-load" />
|
||||
<xs:enumeration value="post-insert" />
|
||||
<xs:enumeration value="post-update" />
|
||||
<xs:enumeration value="post-delete" />
|
||||
<xs:enumeration value="post-commit-update" />
|
||||
<xs:enumeration value="post-commit-insert" />
|
||||
<xs:enumeration value="post-commit-delete" />
|
||||
<xs:enumeration value="pre-collection-recreate" />
|
||||
<xs:enumeration value="pre-collection-remove" />
|
||||
<xs:enumeration value="pre-collection-update" />
|
||||
<xs:enumeration value="post-collection-recreate" />
|
||||
<xs:enumeration value="post-collection-remove" />
|
||||
<xs:enumeration value="post-collection-update" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="bytecode-provider">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="type" default="lcg">
|
||||
<xs:simpleType>
|
||||
<xs:union>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="lcg" />
|
||||
<xs:enumeration value="null" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string" />
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="objects-factory">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
<xs:attribute name="type" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="reflection-optimizer">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
<xs:attribute name="use" type="xs:boolean" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
1707
packages/NHibernate.5.5.2/nhibernate-mapping.xsd
vendored
Normal file
1707
packages/NHibernate.5.5.2/nhibernate-mapping.xsd
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.2.2.0/.signature.p7s
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Remotion.Linq.2.2.0/Remotion.Linq.2.2.0.nupkg
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/Remotion.Linq.2.2.0.nupkg
vendored
Normal file
Binary file not shown.
4265
packages/Remotion.Linq.2.2.0/lib/net35/Remotion.Linq.XML
vendored
Normal file
4265
packages/Remotion.Linq.2.2.0/lib/net35/Remotion.Linq.XML
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.2.2.0/lib/net35/Remotion.Linq.dll
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/lib/net35/Remotion.Linq.dll
vendored
Normal file
Binary file not shown.
4123
packages/Remotion.Linq.2.2.0/lib/net40/Remotion.Linq.XML
vendored
Normal file
4123
packages/Remotion.Linq.2.2.0/lib/net40/Remotion.Linq.XML
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.2.2.0/lib/net40/Remotion.Linq.dll
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/lib/net40/Remotion.Linq.dll
vendored
Normal file
Binary file not shown.
4123
packages/Remotion.Linq.2.2.0/lib/net45/Remotion.Linq.XML
vendored
Normal file
4123
packages/Remotion.Linq.2.2.0/lib/net45/Remotion.Linq.XML
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.2.2.0/lib/net45/Remotion.Linq.dll
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/lib/net45/Remotion.Linq.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Remotion.Linq.2.2.0/lib/netstandard1.0/Remotion.Linq.dll
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/lib/netstandard1.0/Remotion.Linq.dll
vendored
Normal file
Binary file not shown.
4123
packages/Remotion.Linq.2.2.0/lib/netstandard1.0/Remotion.Linq.xml
vendored
Normal file
4123
packages/Remotion.Linq.2.2.0/lib/netstandard1.0/Remotion.Linq.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.2.2.0/lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll
vendored
Normal file
BIN
packages/Remotion.Linq.2.2.0/lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll
vendored
Normal file
Binary file not shown.
4123
packages/Remotion.Linq.2.2.0/lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml
vendored
Normal file
4123
packages/Remotion.Linq.2.2.0/lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/.signature.p7s
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/Remotion.Linq.EagerFetching.2.2.0.nupkg
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/Remotion.Linq.EagerFetching.2.2.0.nupkg
vendored
Normal file
Binary file not shown.
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net35/Remotion.Linq.EagerFetching.XML
vendored
Normal file
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net35/Remotion.Linq.EagerFetching.XML
vendored
Normal file
@@ -0,0 +1,813 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Remotion.Linq.EagerFetching</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method.
|
||||
The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
|
||||
The mandatory argument of the attribute is the assertion type.
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
|
||||
<summary>
|
||||
Initializes new instance of AssertionConditionAttribute
|
||||
</summary>
|
||||
<param name="conditionType">Specifies condition type</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
|
||||
<summary>
|
||||
Gets condition type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
|
||||
Otherwise, execution is assumed to be halted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to true
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to false
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to not null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
|
||||
To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to target attribute, specifies a requirement for any type which is marked with
|
||||
target attribute to implement or inherit specific type or types
|
||||
</summary>
|
||||
<example>
|
||||
<code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
public class ComponentAttribute : Attribute
|
||||
{}
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
public class MyComponent : IComponent
|
||||
{}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
|
||||
<summary>
|
||||
Initializes new instance of BaseTypeRequiredAttribute
|
||||
</summary>
|
||||
<param name="baseType">Specifies which types are required</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
|
||||
<summary>
|
||||
Gets enumerations of specified base types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
|
||||
There is only exception to compare with <c>null</c>, it is permitted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function definition table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If method has single input parameter, it's name could be omitted. <br/>
|
||||
Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally. <br/>
|
||||
"canbenull" annotation is only applicable for output parameters. <br/>
|
||||
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. <br/>
|
||||
</syntax>
|
||||
<examples>
|
||||
<list>
|
||||
<item>[ContractAnnotation("=> halt")] public void TerminationMethod()</item>
|
||||
<item>[ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method</item>
|
||||
<item>[ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty</item>
|
||||
<item>[ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null</item>
|
||||
<item>[ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)</item>
|
||||
</list>
|
||||
</examples>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>
|
||||
Only entity marked with attribute considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>
|
||||
Indicates implicit assignment to a member
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>
|
||||
Members of entity marked with attribute are considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>
|
||||
Entity marked with attribute and all its members considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be string literal and match one of the parameters of the caller function.
|
||||
For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates that marked element should be localized or not.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class with
|
||||
<see cref="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"/> set to <see langword="true"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
|
||||
</summary>
|
||||
<param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
|
||||
<summary>
|
||||
Gets a value indicating whether a element should be localized.
|
||||
<value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
|
||||
<summary>
|
||||
Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
|
||||
</summary>
|
||||
<param name="obj">The object to test the value equality of. </param>
|
||||
<returns>
|
||||
<c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash code for this instance.
|
||||
</summary>
|
||||
<returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumarable, passed as parameter, is not enumerated.
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the function is used to notify class type property value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could never be <c>null</c>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that method doesn't contain observable side effects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that marked method builds string by format pattern and (optional) arguments.
|
||||
Parameter, which contains format string, should be given in constructor.
|
||||
The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes new instance of StringFormatMethodAttribute
|
||||
</summary>
|
||||
<param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
|
||||
<summary>
|
||||
Gets format parameter name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will not be marked as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.ArgumentUtility">
|
||||
<summary>
|
||||
This utility class provides methods for checking arguments.
|
||||
</summary>
|
||||
<remarks>
|
||||
Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
|
||||
type:
|
||||
<code><![CDATA[
|
||||
void foo (object o)
|
||||
{
|
||||
int i = ArgumentUtility.CheckNotNullAndType<int> ("o", o);
|
||||
}
|
||||
]]></code>
|
||||
In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
|
||||
or property setters:
|
||||
<code><![CDATA[
|
||||
class MyType : MyBaseType
|
||||
{
|
||||
public MyType (string name) : base (ArgumentUtility.CheckNotNullOrEmpty ("name", name))
|
||||
{
|
||||
}
|
||||
|
||||
public override Name
|
||||
{
|
||||
set { base.Name = ArgumentUtility.CheckNotNullOrEmpty ("value", value); }
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is not <see langword="null"/> and of the specified value type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckNotNullAndType(System.String,System.Object,System.Type)">
|
||||
<summary>Checks of the <paramref name="actualValue"/> is of the <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is of the specified type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentException">
|
||||
<paramref name="actualValue"/> is an instance of another type (which is not a subtype of <typeparamref name="TExpected"/>).</exception>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
<paramref name="actualValue" /> is null and <typeparamref name="TExpected"/> cannot be null. </exception>
|
||||
<remarks>
|
||||
For non-nullable value types, you should use either <see cref="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"/> or pass the type
|
||||
<see cref="T:System.Nullable`1" /> instead.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> is not <see langword="null"/> and can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualType"/> is <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> or a null reference.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> and not null references.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
<exception cref="T:System.ArgumentNullException"> If at least one element is a null reference. </exception>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.Assertion">
|
||||
<summary>
|
||||
Provides methods that throw an <see cref="T:System.InvalidOperationException"/> if an assertion fails.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
This class contains methods that are conditional to the DEBUG and TRACE attributes (<see cref="M:Remotion.Utilities.Assertion.DebugAssert(System.Boolean)"/> and <see cref="M:Remotion.Utilities.Assertion.TraceAssert(System.Boolean)"/>).
|
||||
</para><para>
|
||||
Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
|
||||
compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
|
||||
not cause any side effects! See <see cref="T:System.Diagnostics.ConditionalAttribute"/> or <see cref="T:System.Diagnostics.Debug"/> and <see cref="T:System.Diagnostics.Trace"/> the for more information
|
||||
about conditional compilation.
|
||||
</para><para>
|
||||
Assertions are no replacement for checking input parameters of public methods (see <see cref="T:Remotion.Utilities.ArgumentUtility"/>).
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)">
|
||||
<summary>
|
||||
Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null"/>.
|
||||
</summary>
|
||||
<param name="type">The type to check.</param>
|
||||
<returns>
|
||||
true if <paramref name="type"/> is nullable; otherwise, false.
|
||||
</returns>
|
||||
<remarks>
|
||||
A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor">
|
||||
<summary>
|
||||
Visits a <see cref="T:Remotion.Linq.QueryModel"/>, removing all <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> instances from its <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/>
|
||||
collection and returning <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for them.
|
||||
</summary>
|
||||
<remarks>
|
||||
Note that this visitor does not remove fetch requests from sub-queries.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchManyRequest">
|
||||
<summary>
|
||||
Represents a relation collection property that should be eager-fetched by means of a lambda expression.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding an <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> and changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to
|
||||
retrieve the result of the <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
For example, a fetch request such as <c>FetchMany (x => x.Orders)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> selecting
|
||||
<c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting the result of the
|
||||
<see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchOneRequest">
|
||||
<summary>
|
||||
Represents a property holding one object that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to the fetch source expression.
|
||||
For example, a fetch request such as <c>FetchOne (x => x.Customer)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting
|
||||
<c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder">
|
||||
<summary>
|
||||
Holds a <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> for which the fetch request was created, and the position
|
||||
where the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> occurred in the <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> list of the <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From
|
||||
this information, it builds a new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> that represents the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> as a query.
|
||||
</summary>
|
||||
<remarks>
|
||||
Use <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/> to retrieve the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> instances for a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Linq.EagerFetching.FetchRequestBase,Remotion.Linq.QueryModel,System.Int32)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> class.
|
||||
</summary>
|
||||
<param name="fetchRequest">The fetch request.</param>
|
||||
<param name="queryModel">The query model for which the <paramref name="fetchRequest"/> was originally defined.</param>
|
||||
<param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest"/> was originally located.
|
||||
The <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>,
|
||||
but it will not include any result operators occurring after (or at) that position.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel">
|
||||
<summary>
|
||||
Creates the fetch query model for the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, caching the result.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> which represents the same query as <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> but selecting
|
||||
the objects described by <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember"/> instead of the objects selected by the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From the original <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>, only those result operators are included that occur
|
||||
prior to <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders">
|
||||
<summary>
|
||||
Creates <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
|
||||
a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/> of 0.
|
||||
</summary>
|
||||
<returns>An array of <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>.</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestBase">
|
||||
<summary>
|
||||
Base class for classes representing a property that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Reflection.MemberInfo"/> of the relation member whose contained object(s) should be fetched.
|
||||
</summary>
|
||||
<value>The relation member.</value>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests">
|
||||
<summary>
|
||||
Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<value>The fetch requests added via <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)"/>.</value>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Linq.QueryModel"/> that incorporates a given <paramref name="sourceItemQueryModel"/> as a
|
||||
<see cref="T:Remotion.Linq.Clauses.Expressions.SubQueryExpression"/> and selects the fetched items from it.
|
||||
</summary>
|
||||
<param name="sourceItemQueryModel">A <see cref="T:Remotion.Linq.QueryModel"/> that yields the source items for which items are to be fetched.</param>
|
||||
<returns>A <see cref="T:Remotion.Linq.QueryModel"/> that selects the fetched items from <paramref name="sourceItemQueryModel"/> as a subquery.</returns>
|
||||
<remarks>
|
||||
This method does not clone the <paramref name="sourceItemQueryModel"/>, remove result operatores, etc. Use
|
||||
<see cref="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"/> (via <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/>) for the full algorithm.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding new <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> instances and changing the
|
||||
<see cref="T:Remotion.Linq.Clauses.SelectClause"/> as needed.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
<param name="fetchQueryModel">The fetch query model to modify.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestCollection">
|
||||
<summary>
|
||||
Holds a number of <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances keyed by the <see cref="T:System.Reflection.MemberInfo"/> instances representing the relation members
|
||||
to be eager-fetched.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an eager-fetch request to this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestCollection"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality used by all expression nodes representing fetch operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchMany<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchMany") }, typeof (FetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchOne<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchOne") }, typeof (FetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchMany<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchMany") }, typeof (ThenFetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchOne<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchOne") }, typeof (ThenFetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net35/Remotion.Linq.EagerFetching.dll
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net35/Remotion.Linq.EagerFetching.dll
vendored
Normal file
Binary file not shown.
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net40/Remotion.Linq.EagerFetching.XML
vendored
Normal file
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net40/Remotion.Linq.EagerFetching.XML
vendored
Normal file
@@ -0,0 +1,813 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Remotion.Linq.EagerFetching</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method.
|
||||
The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
|
||||
The mandatory argument of the attribute is the assertion type.
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
|
||||
<summary>
|
||||
Initializes new instance of AssertionConditionAttribute
|
||||
</summary>
|
||||
<param name="conditionType">Specifies condition type</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
|
||||
<summary>
|
||||
Gets condition type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
|
||||
Otherwise, execution is assumed to be halted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to true
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to false
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to not null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
|
||||
To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to target attribute, specifies a requirement for any type which is marked with
|
||||
target attribute to implement or inherit specific type or types
|
||||
</summary>
|
||||
<example>
|
||||
<code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
public class ComponentAttribute : Attribute
|
||||
{}
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
public class MyComponent : IComponent
|
||||
{}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
|
||||
<summary>
|
||||
Initializes new instance of BaseTypeRequiredAttribute
|
||||
</summary>
|
||||
<param name="baseType">Specifies which types are required</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
|
||||
<summary>
|
||||
Gets enumerations of specified base types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
|
||||
There is only exception to compare with <c>null</c>, it is permitted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function definition table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If method has single input parameter, it's name could be omitted. <br/>
|
||||
Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally. <br/>
|
||||
"canbenull" annotation is only applicable for output parameters. <br/>
|
||||
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. <br/>
|
||||
</syntax>
|
||||
<examples>
|
||||
<list>
|
||||
<item>[ContractAnnotation("=> halt")] public void TerminationMethod()</item>
|
||||
<item>[ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method</item>
|
||||
<item>[ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty</item>
|
||||
<item>[ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null</item>
|
||||
<item>[ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)</item>
|
||||
</list>
|
||||
</examples>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>
|
||||
Only entity marked with attribute considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>
|
||||
Indicates implicit assignment to a member
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>
|
||||
Members of entity marked with attribute are considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>
|
||||
Entity marked with attribute and all its members considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be string literal and match one of the parameters of the caller function.
|
||||
For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates that marked element should be localized or not.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class with
|
||||
<see cref="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"/> set to <see langword="true"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
|
||||
</summary>
|
||||
<param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
|
||||
<summary>
|
||||
Gets a value indicating whether a element should be localized.
|
||||
<value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
|
||||
<summary>
|
||||
Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
|
||||
</summary>
|
||||
<param name="obj">The object to test the value equality of. </param>
|
||||
<returns>
|
||||
<c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash code for this instance.
|
||||
</summary>
|
||||
<returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumarable, passed as parameter, is not enumerated.
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the function is used to notify class type property value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could never be <c>null</c>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that method doesn't contain observable side effects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that marked method builds string by format pattern and (optional) arguments.
|
||||
Parameter, which contains format string, should be given in constructor.
|
||||
The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes new instance of StringFormatMethodAttribute
|
||||
</summary>
|
||||
<param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
|
||||
<summary>
|
||||
Gets format parameter name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will not be marked as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.ArgumentUtility">
|
||||
<summary>
|
||||
This utility class provides methods for checking arguments.
|
||||
</summary>
|
||||
<remarks>
|
||||
Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
|
||||
type:
|
||||
<code><![CDATA[
|
||||
void foo (object o)
|
||||
{
|
||||
int i = ArgumentUtility.CheckNotNullAndType<int> ("o", o);
|
||||
}
|
||||
]]></code>
|
||||
In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
|
||||
or property setters:
|
||||
<code><![CDATA[
|
||||
class MyType : MyBaseType
|
||||
{
|
||||
public MyType (string name) : base (ArgumentUtility.CheckNotNullOrEmpty ("name", name))
|
||||
{
|
||||
}
|
||||
|
||||
public override Name
|
||||
{
|
||||
set { base.Name = ArgumentUtility.CheckNotNullOrEmpty ("value", value); }
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is not <see langword="null"/> and of the specified value type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckNotNullAndType(System.String,System.Object,System.Type)">
|
||||
<summary>Checks of the <paramref name="actualValue"/> is of the <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is of the specified type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentException">
|
||||
<paramref name="actualValue"/> is an instance of another type (which is not a subtype of <typeparamref name="TExpected"/>).</exception>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
<paramref name="actualValue" /> is null and <typeparamref name="TExpected"/> cannot be null. </exception>
|
||||
<remarks>
|
||||
For non-nullable value types, you should use either <see cref="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"/> or pass the type
|
||||
<see cref="T:System.Nullable`1" /> instead.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> is not <see langword="null"/> and can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualType"/> is <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> or a null reference.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> and not null references.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
<exception cref="T:System.ArgumentNullException"> If at least one element is a null reference. </exception>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.Assertion">
|
||||
<summary>
|
||||
Provides methods that throw an <see cref="T:System.InvalidOperationException"/> if an assertion fails.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
This class contains methods that are conditional to the DEBUG and TRACE attributes (<see cref="M:Remotion.Utilities.Assertion.DebugAssert(System.Boolean)"/> and <see cref="M:Remotion.Utilities.Assertion.TraceAssert(System.Boolean)"/>).
|
||||
</para><para>
|
||||
Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
|
||||
compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
|
||||
not cause any side effects! See <see cref="T:System.Diagnostics.ConditionalAttribute"/> or <see cref="T:System.Diagnostics.Debug"/> and <see cref="T:System.Diagnostics.Trace"/> the for more information
|
||||
about conditional compilation.
|
||||
</para><para>
|
||||
Assertions are no replacement for checking input parameters of public methods (see <see cref="T:Remotion.Utilities.ArgumentUtility"/>).
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)">
|
||||
<summary>
|
||||
Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null"/>.
|
||||
</summary>
|
||||
<param name="type">The type to check.</param>
|
||||
<returns>
|
||||
true if <paramref name="type"/> is nullable; otherwise, false.
|
||||
</returns>
|
||||
<remarks>
|
||||
A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor">
|
||||
<summary>
|
||||
Visits a <see cref="T:Remotion.Linq.QueryModel"/>, removing all <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> instances from its <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/>
|
||||
collection and returning <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for them.
|
||||
</summary>
|
||||
<remarks>
|
||||
Note that this visitor does not remove fetch requests from sub-queries.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchManyRequest">
|
||||
<summary>
|
||||
Represents a relation collection property that should be eager-fetched by means of a lambda expression.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding an <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> and changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to
|
||||
retrieve the result of the <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
For example, a fetch request such as <c>FetchMany (x => x.Orders)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> selecting
|
||||
<c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting the result of the
|
||||
<see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchOneRequest">
|
||||
<summary>
|
||||
Represents a property holding one object that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to the fetch source expression.
|
||||
For example, a fetch request such as <c>FetchOne (x => x.Customer)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting
|
||||
<c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder">
|
||||
<summary>
|
||||
Holds a <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> for which the fetch request was created, and the position
|
||||
where the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> occurred in the <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> list of the <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From
|
||||
this information, it builds a new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> that represents the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> as a query.
|
||||
</summary>
|
||||
<remarks>
|
||||
Use <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/> to retrieve the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> instances for a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Linq.EagerFetching.FetchRequestBase,Remotion.Linq.QueryModel,System.Int32)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> class.
|
||||
</summary>
|
||||
<param name="fetchRequest">The fetch request.</param>
|
||||
<param name="queryModel">The query model for which the <paramref name="fetchRequest"/> was originally defined.</param>
|
||||
<param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest"/> was originally located.
|
||||
The <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>,
|
||||
but it will not include any result operators occurring after (or at) that position.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel">
|
||||
<summary>
|
||||
Creates the fetch query model for the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, caching the result.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> which represents the same query as <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> but selecting
|
||||
the objects described by <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember"/> instead of the objects selected by the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From the original <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>, only those result operators are included that occur
|
||||
prior to <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders">
|
||||
<summary>
|
||||
Creates <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
|
||||
a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/> of 0.
|
||||
</summary>
|
||||
<returns>An array of <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>.</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestBase">
|
||||
<summary>
|
||||
Base class for classes representing a property that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Reflection.MemberInfo"/> of the relation member whose contained object(s) should be fetched.
|
||||
</summary>
|
||||
<value>The relation member.</value>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests">
|
||||
<summary>
|
||||
Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<value>The fetch requests added via <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)"/>.</value>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Linq.QueryModel"/> that incorporates a given <paramref name="sourceItemQueryModel"/> as a
|
||||
<see cref="T:Remotion.Linq.Clauses.Expressions.SubQueryExpression"/> and selects the fetched items from it.
|
||||
</summary>
|
||||
<param name="sourceItemQueryModel">A <see cref="T:Remotion.Linq.QueryModel"/> that yields the source items for which items are to be fetched.</param>
|
||||
<returns>A <see cref="T:Remotion.Linq.QueryModel"/> that selects the fetched items from <paramref name="sourceItemQueryModel"/> as a subquery.</returns>
|
||||
<remarks>
|
||||
This method does not clone the <paramref name="sourceItemQueryModel"/>, remove result operatores, etc. Use
|
||||
<see cref="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"/> (via <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/>) for the full algorithm.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding new <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> instances and changing the
|
||||
<see cref="T:Remotion.Linq.Clauses.SelectClause"/> as needed.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
<param name="fetchQueryModel">The fetch query model to modify.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestCollection">
|
||||
<summary>
|
||||
Holds a number of <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances keyed by the <see cref="T:System.Reflection.MemberInfo"/> instances representing the relation members
|
||||
to be eager-fetched.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an eager-fetch request to this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestCollection"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality used by all expression nodes representing fetch operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchMany<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchMany") }, typeof (FetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchOne<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchOne") }, typeof (FetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchMany<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchMany") }, typeof (ThenFetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchOne<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchOne") }, typeof (ThenFetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net40/Remotion.Linq.EagerFetching.dll
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net40/Remotion.Linq.EagerFetching.dll
vendored
Normal file
Binary file not shown.
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net45/Remotion.Linq.EagerFetching.XML
vendored
Normal file
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net45/Remotion.Linq.EagerFetching.XML
vendored
Normal file
@@ -0,0 +1,813 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Remotion.Linq.EagerFetching</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method.
|
||||
The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
|
||||
The mandatory argument of the attribute is the assertion type.
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
|
||||
<summary>
|
||||
Initializes new instance of AssertionConditionAttribute
|
||||
</summary>
|
||||
<param name="conditionType">Specifies condition type</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
|
||||
<summary>
|
||||
Gets condition type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
|
||||
Otherwise, execution is assumed to be halted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to true
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to false
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to not null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
|
||||
To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to target attribute, specifies a requirement for any type which is marked with
|
||||
target attribute to implement or inherit specific type or types
|
||||
</summary>
|
||||
<example>
|
||||
<code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
public class ComponentAttribute : Attribute
|
||||
{}
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
public class MyComponent : IComponent
|
||||
{}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
|
||||
<summary>
|
||||
Initializes new instance of BaseTypeRequiredAttribute
|
||||
</summary>
|
||||
<param name="baseType">Specifies which types are required</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
|
||||
<summary>
|
||||
Gets enumerations of specified base types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
|
||||
There is only exception to compare with <c>null</c>, it is permitted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function definition table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If method has single input parameter, it's name could be omitted. <br/>
|
||||
Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally. <br/>
|
||||
"canbenull" annotation is only applicable for output parameters. <br/>
|
||||
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. <br/>
|
||||
</syntax>
|
||||
<examples>
|
||||
<list>
|
||||
<item>[ContractAnnotation("=> halt")] public void TerminationMethod()</item>
|
||||
<item>[ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method</item>
|
||||
<item>[ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty</item>
|
||||
<item>[ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null</item>
|
||||
<item>[ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)</item>
|
||||
</list>
|
||||
</examples>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>
|
||||
Only entity marked with attribute considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>
|
||||
Indicates implicit assignment to a member
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>
|
||||
Members of entity marked with attribute are considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>
|
||||
Entity marked with attribute and all its members considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be string literal and match one of the parameters of the caller function.
|
||||
For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates that marked element should be localized or not.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class with
|
||||
<see cref="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"/> set to <see langword="true"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
|
||||
</summary>
|
||||
<param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
|
||||
<summary>
|
||||
Gets a value indicating whether a element should be localized.
|
||||
<value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
|
||||
<summary>
|
||||
Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
|
||||
</summary>
|
||||
<param name="obj">The object to test the value equality of. </param>
|
||||
<returns>
|
||||
<c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash code for this instance.
|
||||
</summary>
|
||||
<returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumarable, passed as parameter, is not enumerated.
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the function is used to notify class type property value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could never be <c>null</c>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that method doesn't contain observable side effects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that marked method builds string by format pattern and (optional) arguments.
|
||||
Parameter, which contains format string, should be given in constructor.
|
||||
The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes new instance of StringFormatMethodAttribute
|
||||
</summary>
|
||||
<param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
|
||||
<summary>
|
||||
Gets format parameter name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will not be marked as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.ArgumentUtility">
|
||||
<summary>
|
||||
This utility class provides methods for checking arguments.
|
||||
</summary>
|
||||
<remarks>
|
||||
Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
|
||||
type:
|
||||
<code><![CDATA[
|
||||
void foo (object o)
|
||||
{
|
||||
int i = ArgumentUtility.CheckNotNullAndType<int> ("o", o);
|
||||
}
|
||||
]]></code>
|
||||
In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
|
||||
or property setters:
|
||||
<code><![CDATA[
|
||||
class MyType : MyBaseType
|
||||
{
|
||||
public MyType (string name) : base (ArgumentUtility.CheckNotNullOrEmpty ("name", name))
|
||||
{
|
||||
}
|
||||
|
||||
public override Name
|
||||
{
|
||||
set { base.Name = ArgumentUtility.CheckNotNullOrEmpty ("value", value); }
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is not <see langword="null"/> and of the specified value type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckNotNullAndType(System.String,System.Object,System.Type)">
|
||||
<summary>Checks of the <paramref name="actualValue"/> is of the <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is of the specified type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentException">
|
||||
<paramref name="actualValue"/> is an instance of another type (which is not a subtype of <typeparamref name="TExpected"/>).</exception>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
<paramref name="actualValue" /> is null and <typeparamref name="TExpected"/> cannot be null. </exception>
|
||||
<remarks>
|
||||
For non-nullable value types, you should use either <see cref="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"/> or pass the type
|
||||
<see cref="T:System.Nullable`1" /> instead.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> is not <see langword="null"/> and can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualType"/> is <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> or a null reference.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> and not null references.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
<exception cref="T:System.ArgumentNullException"> If at least one element is a null reference. </exception>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.Assertion">
|
||||
<summary>
|
||||
Provides methods that throw an <see cref="T:System.InvalidOperationException"/> if an assertion fails.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
This class contains methods that are conditional to the DEBUG and TRACE attributes (<see cref="M:Remotion.Utilities.Assertion.DebugAssert(System.Boolean)"/> and <see cref="M:Remotion.Utilities.Assertion.TraceAssert(System.Boolean)"/>).
|
||||
</para><para>
|
||||
Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
|
||||
compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
|
||||
not cause any side effects! See <see cref="T:System.Diagnostics.ConditionalAttribute"/> or <see cref="T:System.Diagnostics.Debug"/> and <see cref="T:System.Diagnostics.Trace"/> the for more information
|
||||
about conditional compilation.
|
||||
</para><para>
|
||||
Assertions are no replacement for checking input parameters of public methods (see <see cref="T:Remotion.Utilities.ArgumentUtility"/>).
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)">
|
||||
<summary>
|
||||
Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null"/>.
|
||||
</summary>
|
||||
<param name="type">The type to check.</param>
|
||||
<returns>
|
||||
true if <paramref name="type"/> is nullable; otherwise, false.
|
||||
</returns>
|
||||
<remarks>
|
||||
A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor">
|
||||
<summary>
|
||||
Visits a <see cref="T:Remotion.Linq.QueryModel"/>, removing all <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> instances from its <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/>
|
||||
collection and returning <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for them.
|
||||
</summary>
|
||||
<remarks>
|
||||
Note that this visitor does not remove fetch requests from sub-queries.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchManyRequest">
|
||||
<summary>
|
||||
Represents a relation collection property that should be eager-fetched by means of a lambda expression.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding an <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> and changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to
|
||||
retrieve the result of the <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
For example, a fetch request such as <c>FetchMany (x => x.Orders)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> selecting
|
||||
<c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting the result of the
|
||||
<see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchOneRequest">
|
||||
<summary>
|
||||
Represents a property holding one object that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to the fetch source expression.
|
||||
For example, a fetch request such as <c>FetchOne (x => x.Customer)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting
|
||||
<c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder">
|
||||
<summary>
|
||||
Holds a <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> for which the fetch request was created, and the position
|
||||
where the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> occurred in the <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> list of the <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From
|
||||
this information, it builds a new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> that represents the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> as a query.
|
||||
</summary>
|
||||
<remarks>
|
||||
Use <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/> to retrieve the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> instances for a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Linq.EagerFetching.FetchRequestBase,Remotion.Linq.QueryModel,System.Int32)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> class.
|
||||
</summary>
|
||||
<param name="fetchRequest">The fetch request.</param>
|
||||
<param name="queryModel">The query model for which the <paramref name="fetchRequest"/> was originally defined.</param>
|
||||
<param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest"/> was originally located.
|
||||
The <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>,
|
||||
but it will not include any result operators occurring after (or at) that position.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel">
|
||||
<summary>
|
||||
Creates the fetch query model for the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, caching the result.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> which represents the same query as <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> but selecting
|
||||
the objects described by <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember"/> instead of the objects selected by the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From the original <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>, only those result operators are included that occur
|
||||
prior to <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders">
|
||||
<summary>
|
||||
Creates <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
|
||||
a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/> of 0.
|
||||
</summary>
|
||||
<returns>An array of <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>.</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestBase">
|
||||
<summary>
|
||||
Base class for classes representing a property that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Reflection.MemberInfo"/> of the relation member whose contained object(s) should be fetched.
|
||||
</summary>
|
||||
<value>The relation member.</value>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests">
|
||||
<summary>
|
||||
Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<value>The fetch requests added via <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)"/>.</value>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Linq.QueryModel"/> that incorporates a given <paramref name="sourceItemQueryModel"/> as a
|
||||
<see cref="T:Remotion.Linq.Clauses.Expressions.SubQueryExpression"/> and selects the fetched items from it.
|
||||
</summary>
|
||||
<param name="sourceItemQueryModel">A <see cref="T:Remotion.Linq.QueryModel"/> that yields the source items for which items are to be fetched.</param>
|
||||
<returns>A <see cref="T:Remotion.Linq.QueryModel"/> that selects the fetched items from <paramref name="sourceItemQueryModel"/> as a subquery.</returns>
|
||||
<remarks>
|
||||
This method does not clone the <paramref name="sourceItemQueryModel"/>, remove result operatores, etc. Use
|
||||
<see cref="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"/> (via <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/>) for the full algorithm.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding new <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> instances and changing the
|
||||
<see cref="T:Remotion.Linq.Clauses.SelectClause"/> as needed.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
<param name="fetchQueryModel">The fetch query model to modify.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestCollection">
|
||||
<summary>
|
||||
Holds a number of <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances keyed by the <see cref="T:System.Reflection.MemberInfo"/> instances representing the relation members
|
||||
to be eager-fetched.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an eager-fetch request to this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestCollection"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality used by all expression nodes representing fetch operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchMany<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchMany") }, typeof (FetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchOne<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchOne") }, typeof (FetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchMany<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchMany") }, typeof (ThenFetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchOne<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchOne") }, typeof (ThenFetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net45/Remotion.Linq.EagerFetching.dll
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/net45/Remotion.Linq.EagerFetching.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/netstandard1.0/Remotion.Linq.EagerFetching.dll
vendored
Normal file
BIN
packages/Remotion.Linq.EagerFetching.2.2.0/lib/netstandard1.0/Remotion.Linq.EagerFetching.dll
vendored
Normal file
Binary file not shown.
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/netstandard1.0/Remotion.Linq.EagerFetching.xml
vendored
Normal file
813
packages/Remotion.Linq.EagerFetching.2.2.0/lib/netstandard1.0/Remotion.Linq.EagerFetching.xml
vendored
Normal file
@@ -0,0 +1,813 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Remotion.Linq.EagerFetching</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor">
|
||||
<summary>
|
||||
Visits a <see cref="T:Remotion.Linq.QueryModel"/>, removing all <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> instances from its <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/>
|
||||
collection and returning <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for them.
|
||||
</summary>
|
||||
<remarks>
|
||||
Note that this visitor does not remove fetch requests from sub-queries.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchManyRequest">
|
||||
<summary>
|
||||
Represents a relation collection property that should be eager-fetched by means of a lambda expression.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding an <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> and changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to
|
||||
retrieve the result of the <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
For example, a fetch request such as <c>FetchMany (x => x.Orders)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> selecting
|
||||
<c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting the result of the
|
||||
<see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchOneRequest">
|
||||
<summary>
|
||||
Represents a property holding one object that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to the fetch source expression.
|
||||
For example, a fetch request such as <c>FetchOne (x => x.Customer)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting
|
||||
<c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder">
|
||||
<summary>
|
||||
Holds a <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> for which the fetch request was created, and the position
|
||||
where the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> occurred in the <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> list of the <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From
|
||||
this information, it builds a new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> that represents the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> as a query.
|
||||
</summary>
|
||||
<remarks>
|
||||
Use <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/> to retrieve the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> instances for a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Linq.EagerFetching.FetchRequestBase,Remotion.Linq.QueryModel,System.Int32)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> class.
|
||||
</summary>
|
||||
<param name="fetchRequest">The fetch request.</param>
|
||||
<param name="queryModel">The query model for which the <paramref name="fetchRequest"/> was originally defined.</param>
|
||||
<param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest"/> was originally located.
|
||||
The <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>,
|
||||
but it will not include any result operators occurring after (or at) that position.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel">
|
||||
<summary>
|
||||
Creates the fetch query model for the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, caching the result.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> which represents the same query as <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> but selecting
|
||||
the objects described by <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember"/> instead of the objects selected by the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From the original <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>, only those result operators are included that occur
|
||||
prior to <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders">
|
||||
<summary>
|
||||
Creates <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
|
||||
a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/> of 0.
|
||||
</summary>
|
||||
<returns>An array of <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>.</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestBase">
|
||||
<summary>
|
||||
Base class for classes representing a property that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Reflection.MemberInfo"/> of the relation member whose contained object(s) should be fetched.
|
||||
</summary>
|
||||
<value>The relation member.</value>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests">
|
||||
<summary>
|
||||
Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<value>The fetch requests added via <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)"/>.</value>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Linq.QueryModel"/> that incorporates a given <paramref name="sourceItemQueryModel"/> as a
|
||||
<see cref="T:Remotion.Linq.Clauses.Expressions.SubQueryExpression"/> and selects the fetched items from it.
|
||||
</summary>
|
||||
<param name="sourceItemQueryModel">A <see cref="T:Remotion.Linq.QueryModel"/> that yields the source items for which items are to be fetched.</param>
|
||||
<returns>A <see cref="T:Remotion.Linq.QueryModel"/> that selects the fetched items from <paramref name="sourceItemQueryModel"/> as a subquery.</returns>
|
||||
<remarks>
|
||||
This method does not clone the <paramref name="sourceItemQueryModel"/>, remove result operatores, etc. Use
|
||||
<see cref="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"/> (via <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/>) for the full algorithm.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding new <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> instances and changing the
|
||||
<see cref="T:Remotion.Linq.Clauses.SelectClause"/> as needed.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
<param name="fetchQueryModel">The fetch query model to modify.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestCollection">
|
||||
<summary>
|
||||
Holds a number of <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances keyed by the <see cref="T:System.Reflection.MemberInfo"/> instances representing the relation members
|
||||
to be eager-fetched.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an eager-fetch request to this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestCollection"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality used by all expression nodes representing fetch operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchMany<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchMany") }, typeof (FetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchOne<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchOne") }, typeof (FetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchMany<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchMany") }, typeof (ThenFetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchOne<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchOne") }, typeof (ThenFetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.ArgumentUtility">
|
||||
<summary>
|
||||
This utility class provides methods for checking arguments.
|
||||
</summary>
|
||||
<remarks>
|
||||
Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
|
||||
type:
|
||||
<code><![CDATA[
|
||||
void foo (object o)
|
||||
{
|
||||
int i = ArgumentUtility.CheckNotNullAndType<int> ("o", o);
|
||||
}
|
||||
]]></code>
|
||||
In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
|
||||
or property setters:
|
||||
<code><![CDATA[
|
||||
class MyType : MyBaseType
|
||||
{
|
||||
public MyType (string name) : base (ArgumentUtility.CheckNotNullOrEmpty ("name", name))
|
||||
{
|
||||
}
|
||||
|
||||
public override Name
|
||||
{
|
||||
set { base.Name = ArgumentUtility.CheckNotNullOrEmpty ("value", value); }
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is not <see langword="null"/> and of the specified value type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckNotNullAndType(System.String,System.Object,System.Type)">
|
||||
<summary>Checks of the <paramref name="actualValue"/> is of the <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is of the specified type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentException">
|
||||
<paramref name="actualValue"/> is an instance of another type (which is not a subtype of <typeparamref name="TExpected"/>).</exception>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
<paramref name="actualValue" /> is null and <typeparamref name="TExpected"/> cannot be null. </exception>
|
||||
<remarks>
|
||||
For non-nullable value types, you should use either <see cref="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"/> or pass the type
|
||||
<see cref="T:System.Nullable`1" /> instead.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> is not <see langword="null"/> and can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualType"/> is <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> or a null reference.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> and not null references.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
<exception cref="T:System.ArgumentNullException"> If at least one element is a null reference. </exception>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.Assertion">
|
||||
<summary>
|
||||
Provides methods that throw an <see cref="T:System.InvalidOperationException"/> if an assertion fails.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
This class contains methods that are conditional to the DEBUG and TRACE attributes (<see cref="M:Remotion.Utilities.Assertion.DebugAssert(System.Boolean)"/> and <see cref="M:Remotion.Utilities.Assertion.TraceAssert(System.Boolean)"/>).
|
||||
</para><para>
|
||||
Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
|
||||
compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
|
||||
not cause any side effects! See <see cref="T:System.Diagnostics.ConditionalAttribute"/> or <see cref="T:System.Diagnostics.Debug"/> and <see cref="T:System.Diagnostics.Trace"/> the for more information
|
||||
about conditional compilation.
|
||||
</para><para>
|
||||
Assertions are no replacement for checking input parameters of public methods (see <see cref="T:Remotion.Utilities.ArgumentUtility"/>).
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)">
|
||||
<summary>
|
||||
Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null"/>.
|
||||
</summary>
|
||||
<param name="type">The type to check.</param>
|
||||
<returns>
|
||||
true if <paramref name="type"/> is nullable; otherwise, false.
|
||||
</returns>
|
||||
<remarks>
|
||||
A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method.
|
||||
The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
|
||||
The mandatory argument of the attribute is the assertion type.
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
|
||||
<summary>
|
||||
Initializes new instance of AssertionConditionAttribute
|
||||
</summary>
|
||||
<param name="conditionType">Specifies condition type</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
|
||||
<summary>
|
||||
Gets condition type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
|
||||
Otherwise, execution is assumed to be halted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to true
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to false
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to not null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
|
||||
To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to target attribute, specifies a requirement for any type which is marked with
|
||||
target attribute to implement or inherit specific type or types
|
||||
</summary>
|
||||
<example>
|
||||
<code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
public class ComponentAttribute : Attribute
|
||||
{}
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
public class MyComponent : IComponent
|
||||
{}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
|
||||
<summary>
|
||||
Initializes new instance of BaseTypeRequiredAttribute
|
||||
</summary>
|
||||
<param name="baseType">Specifies which types are required</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
|
||||
<summary>
|
||||
Gets enumerations of specified base types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
|
||||
There is only exception to compare with <c>null</c>, it is permitted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function definition table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If method has single input parameter, it's name could be omitted. <br/>
|
||||
Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally. <br/>
|
||||
"canbenull" annotation is only applicable for output parameters. <br/>
|
||||
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. <br/>
|
||||
</syntax>
|
||||
<examples>
|
||||
<list>
|
||||
<item>[ContractAnnotation("=> halt")] public void TerminationMethod()</item>
|
||||
<item>[ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method</item>
|
||||
<item>[ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty</item>
|
||||
<item>[ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null</item>
|
||||
<item>[ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)</item>
|
||||
</list>
|
||||
</examples>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>
|
||||
Only entity marked with attribute considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>
|
||||
Indicates implicit assignment to a member
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>
|
||||
Members of entity marked with attribute are considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>
|
||||
Entity marked with attribute and all its members considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be string literal and match one of the parameters of the caller function.
|
||||
For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates that marked element should be localized or not.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class with
|
||||
<see cref="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"/> set to <see langword="true"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
|
||||
</summary>
|
||||
<param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
|
||||
<summary>
|
||||
Gets a value indicating whether a element should be localized.
|
||||
<value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
|
||||
<summary>
|
||||
Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
|
||||
</summary>
|
||||
<param name="obj">The object to test the value equality of. </param>
|
||||
<returns>
|
||||
<c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash code for this instance.
|
||||
</summary>
|
||||
<returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumarable, passed as parameter, is not enumerated.
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the function is used to notify class type property value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could never be <c>null</c>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that method doesn't contain observable side effects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that marked method builds string by format pattern and (optional) arguments.
|
||||
Parameter, which contains format string, should be given in constructor.
|
||||
The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes new instance of StringFormatMethodAttribute
|
||||
</summary>
|
||||
<param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
|
||||
<summary>
|
||||
Gets format parameter name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will not be marked as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
@@ -0,0 +1,813 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Remotion.Linq.EagerFetching</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method.
|
||||
The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
|
||||
The mandatory argument of the attribute is the assertion type.
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
|
||||
<summary>
|
||||
Initializes new instance of AssertionConditionAttribute
|
||||
</summary>
|
||||
<param name="conditionType">Specifies condition type</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
|
||||
<summary>
|
||||
Gets condition type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
|
||||
Otherwise, execution is assumed to be halted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to true
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to false
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>
|
||||
Indicates that the marked parameter should be evaluated to not null value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
|
||||
To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
|
||||
</summary>
|
||||
<seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to target attribute, specifies a requirement for any type which is marked with
|
||||
target attribute to implement or inherit specific type or types
|
||||
</summary>
|
||||
<example>
|
||||
<code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
public class ComponentAttribute : Attribute
|
||||
{}
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
public class MyComponent : IComponent
|
||||
{}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
|
||||
<summary>
|
||||
Initializes new instance of BaseTypeRequiredAttribute
|
||||
</summary>
|
||||
<param name="baseType">Specifies which types are required</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
|
||||
<summary>
|
||||
Gets enumerations of specified base types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
|
||||
There is only exception to compare with <c>null</c>, it is permitted
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function definition table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If method has single input parameter, it's name could be omitted. <br/>
|
||||
Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally. <br/>
|
||||
"canbenull" annotation is only applicable for output parameters. <br/>
|
||||
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. <br/>
|
||||
</syntax>
|
||||
<examples>
|
||||
<list>
|
||||
<item>[ContractAnnotation("=> halt")] public void TerminationMethod()</item>
|
||||
<item>[ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method</item>
|
||||
<item>[ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty</item>
|
||||
<item>[ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null</item>
|
||||
<item>[ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)</item>
|
||||
</list>
|
||||
</examples>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>
|
||||
Only entity marked with attribute considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>
|
||||
Indicates implicit assignment to a member
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>
|
||||
Members of entity marked with attribute are considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>
|
||||
Entity marked with attribute and all its members considered used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be string literal and match one of the parameters of the caller function.
|
||||
For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates that marked element should be localized or not.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class with
|
||||
<see cref="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"/> set to <see langword="true"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
|
||||
</summary>
|
||||
<param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
|
||||
<summary>
|
||||
Gets a value indicating whether a element should be localized.
|
||||
<value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
|
||||
<summary>
|
||||
Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
|
||||
</summary>
|
||||
<param name="obj">The object to test the value equality of. </param>
|
||||
<returns>
|
||||
<c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash code for this instance.
|
||||
</summary>
|
||||
<returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumarable, passed as parameter, is not enumerated.
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the function is used to notify class type property value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of marked element could never be <c>null</c>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that method doesn't contain observable side effects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that marked method builds string by format pattern and (optional) arguments.
|
||||
Parameter, which contains format string, should be given in constructor.
|
||||
The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes new instance of StringFormatMethodAttribute
|
||||
</summary>
|
||||
<param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
|
||||
<summary>
|
||||
Gets format parameter name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will not be marked as unused (as well as by other usage inspections)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
|
||||
<summary>
|
||||
Gets value indicating what is meant to be used
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.ArgumentUtility">
|
||||
<summary>
|
||||
This utility class provides methods for checking arguments.
|
||||
</summary>
|
||||
<remarks>
|
||||
Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
|
||||
type:
|
||||
<code><![CDATA[
|
||||
void foo (object o)
|
||||
{
|
||||
int i = ArgumentUtility.CheckNotNullAndType<int> ("o", o);
|
||||
}
|
||||
]]></code>
|
||||
In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
|
||||
or property setters:
|
||||
<code><![CDATA[
|
||||
class MyType : MyBaseType
|
||||
{
|
||||
public MyType (string name) : base (ArgumentUtility.CheckNotNullOrEmpty ("name", name))
|
||||
{
|
||||
}
|
||||
|
||||
public override Name
|
||||
{
|
||||
set { base.Name = ArgumentUtility.CheckNotNullOrEmpty ("value", value); }
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is not <see langword="null"/> and of the specified value type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckNotNullAndType(System.String,System.Object,System.Type)">
|
||||
<summary>Checks of the <paramref name="actualValue"/> is of the <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualValue"/> is a <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualValue"/> is an instance of another type.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)">
|
||||
<summary>Returns the value itself if it is of the specified type.</summary>
|
||||
<typeparam name="TExpected"> The type that <paramref name="actualValue"/> must have. </typeparam>
|
||||
<exception cref="T:System.ArgumentException">
|
||||
<paramref name="actualValue"/> is an instance of another type (which is not a subtype of <typeparamref name="TExpected"/>).</exception>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
<paramref name="actualValue" /> is null and <typeparamref name="TExpected"/> cannot be null. </exception>
|
||||
<remarks>
|
||||
For non-nullable value types, you should use either <see cref="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"/> or pass the type
|
||||
<see cref="T:System.Nullable`1" /> instead.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> is not <see langword="null"/> and can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentNullException">The <paramref name="actualType"/> is <see langword="null"/>.</exception>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.DebugCheckTypeIsAssignableFrom(System.String,System.Type,System.Type)">
|
||||
<summary>Checks whether <paramref name="actualType"/> can be assigned to <paramref name="expectedType"/>.</summary>
|
||||
<exception cref="T:System.ArgumentException">The <paramref name="actualType"/> cannot be assigned to <paramref name="expectedType"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> or a null reference.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)">
|
||||
<summary>Checks whether all items in <paramref name="collection"/> are of type <paramref name="itemType"/> and not null references.</summary>
|
||||
<exception cref="T:System.ArgumentException"> If at least one element is not of the specified type or a derived type. </exception>
|
||||
<exception cref="T:System.ArgumentNullException"> If at least one element is a null reference. </exception>
|
||||
</member>
|
||||
<member name="T:Remotion.Utilities.Assertion">
|
||||
<summary>
|
||||
Provides methods that throw an <see cref="T:System.InvalidOperationException"/> if an assertion fails.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
This class contains methods that are conditional to the DEBUG and TRACE attributes (<see cref="M:Remotion.Utilities.Assertion.DebugAssert(System.Boolean)"/> and <see cref="M:Remotion.Utilities.Assertion.TraceAssert(System.Boolean)"/>).
|
||||
</para><para>
|
||||
Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
|
||||
compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
|
||||
not cause any side effects! See <see cref="T:System.Diagnostics.ConditionalAttribute"/> or <see cref="T:System.Diagnostics.Debug"/> and <see cref="T:System.Diagnostics.Trace"/> the for more information
|
||||
about conditional compilation.
|
||||
</para><para>
|
||||
Assertions are no replacement for checking input parameters of public methods (see <see cref="T:Remotion.Utilities.ArgumentUtility"/>).
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)">
|
||||
<summary>
|
||||
Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null"/>.
|
||||
</summary>
|
||||
<param name="type">The type to check.</param>
|
||||
<returns>
|
||||
true if <paramref name="type"/> is nullable; otherwise, false.
|
||||
</returns>
|
||||
<remarks>
|
||||
A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor">
|
||||
<summary>
|
||||
Visits a <see cref="T:Remotion.Linq.QueryModel"/>, removing all <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> instances from its <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/>
|
||||
collection and returning <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for them.
|
||||
</summary>
|
||||
<remarks>
|
||||
Note that this visitor does not remove fetch requests from sub-queries.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder">
|
||||
<summary>
|
||||
Holds a <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> for which the fetch request was created, and the position
|
||||
where the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> occurred in the <see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> list of the <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From
|
||||
this information, it builds a new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> that represents the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> as a query.
|
||||
</summary>
|
||||
<remarks>
|
||||
Use <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/> to retrieve the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> instances for a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Linq.EagerFetching.FetchRequestBase,Remotion.Linq.QueryModel,System.Int32)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> class.
|
||||
</summary>
|
||||
<param name="fetchRequest">The fetch request.</param>
|
||||
<param name="queryModel">The query model for which the <paramref name="fetchRequest"/> was originally defined.</param>
|
||||
<param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest"/> was originally located.
|
||||
The <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>,
|
||||
but it will not include any result operators occurring after (or at) that position.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel">
|
||||
<summary>
|
||||
Creates the fetch query model for the <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>, caching the result.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> which represents the same query as <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/> but selecting
|
||||
the objects described by <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember"/> instead of the objects selected by the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>. From the original <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel"/>, only those result operators are included that occur
|
||||
prior to <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders">
|
||||
<summary>
|
||||
Creates <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
|
||||
a <see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition"/> of 0.
|
||||
</summary>
|
||||
<returns>An array of <see cref="T:Remotion.Linq.EagerFetching.FetchQueryModelBuilder"/> objects for the <see cref="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"/> of the
|
||||
<see cref="P:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest"/>.</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> and <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchMany<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchMany") }, typeof (ThenFetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from another fetch operation. The node
|
||||
creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and attaches them to the preceding fetch operation (unless the previous fetch operation already
|
||||
has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TQueried, TRelated> ThenFetchOne<TQueried, TFetch, TRelated> (
|
||||
this FluentFetchRequest<TQueried, TFetch> query,
|
||||
Expression<Func<TFetch, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod()).MakeGenericMethod (typeof (TQueried), typeof (TFetch), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TQueried, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("ThenFetchOne") }, typeof (ThenFetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch a collection-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchMany<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, IEnumerable<TRelated>>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchMany") }, typeof (FetchManyExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase">
|
||||
<summary>
|
||||
Provides common functionality used by all expression nodes representing fetch operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode">
|
||||
<summary>
|
||||
Parses query operators that instruct the LINQ provider to fetch an object-valued relationship starting from the values selected by the query.
|
||||
The node creates <see cref="T:Remotion.Linq.EagerFetching.FetchOneRequest"/> instances and adds them to the <see cref="T:Remotion.Linq.QueryModel"/> as
|
||||
<see cref="P:Remotion.Linq.QueryModel.ResultOperators"/> (unless the <see cref="T:Remotion.Linq.QueryModel"/> already has an equivalent fetch request).
|
||||
</summary>
|
||||
<remarks>
|
||||
This class is not automatically configured for any query operator methods. LINQ provider implementations must explicitly provide and register
|
||||
these methods with the <see cref="T:Remotion.Linq.Parsing.Structure.QueryParser"/> in order for <see cref="T:Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode"/> to be used.
|
||||
<example>
|
||||
Sample code for using fluent syntax when specifying fetch requests.
|
||||
<code>
|
||||
public static class EagerFetchingExtensionMethods
|
||||
{
|
||||
public static FluentFetchRequest<TOriginating, TRelated> FetchOne<TOriginating, TRelated> (
|
||||
this IQueryable<TOriginating> query,
|
||||
Expression<Func<TOriginating, TRelated>> relatedObjectSelector)
|
||||
{
|
||||
|
||||
var methodInfo = ((MethodInfo) MethodBase.GetCurrentMethod ()).MakeGenericMethod (typeof (TOriginating), typeof (TRelated));
|
||||
return CreateFluentFetchRequest<TOriginating, TRelated> (methodInfo, query, relatedObjectSelector);
|
||||
}
|
||||
|
||||
private static FluentFetchRequest<TOriginating, TRelated> CreateFluentFetchRequest<TOriginating, TRelated> (
|
||||
MethodInfo currentFetchMethod,
|
||||
IQueryable<TOriginating> query,
|
||||
LambdaExpression relatedObjectSelector)
|
||||
{
|
||||
var queryProvider = (QueryProviderBase) query.Provider;
|
||||
var callExpression = Expression.Call (currentFetchMethod, query.Expression, relatedObjectSelector);
|
||||
return new FluentFetchRequest<TOriginating, TRelated> (queryProvider, callExpression);
|
||||
}
|
||||
}
|
||||
|
||||
public class FluentFetchRequest<TQueried, TFetch> : QueryableBase<TQueried>
|
||||
{
|
||||
public FluentFetchRequest (IQueryProvider provider, Expression expression)
|
||||
: base (provider, expression)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public IQueryParser CreateQueryParser ()
|
||||
{
|
||||
var customNodeTypeProvider = new MethodInfoBasedNodeTypeRegistry ();
|
||||
customNodeTypeProvider.Register (new[] { typeof (EagerFetchingExtensionMethods).GetMethod ("FetchOne") }, typeof (FetchOneExpressionNode));
|
||||
|
||||
var nodeTypeProvider = ExpressionTreeParser.CreateDefaultNodeTypeProvider ();
|
||||
nodeTypeProvider.InnerProviders.Insert (0, customNodeTypeProvider);
|
||||
|
||||
var transformerRegistry = ExpressionTransformerRegistry.CreateDefault ();
|
||||
var processor = ExpressionTreeParser.CreateDefaultProcessor (transformerRegistry);
|
||||
var expressionTreeParser = new ExpressionTreeParser (nodeTypeProvider, processor);
|
||||
|
||||
return new QueryParser (expressionTreeParser);
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode"/>
|
||||
<seealso cref="T:Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode"/>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchOneRequest">
|
||||
<summary>
|
||||
Represents a property holding one object that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to the fetch source expression.
|
||||
For example, a fetch request such as <c>FetchOne (x => x.Customer)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting
|
||||
<c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestBase">
|
||||
<summary>
|
||||
Base class for classes representing a property that should be eager-fetched when a query is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.RelationMember">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Reflection.MemberInfo"/> of the relation member whose contained object(s) should be fetched.
|
||||
</summary>
|
||||
<value>The relation member.</value>
|
||||
</member>
|
||||
<member name="P:Remotion.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests">
|
||||
<summary>
|
||||
Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<value>The fetch requests added via <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)"/>.</value>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Linq.QueryModel"/> that incorporates a given <paramref name="sourceItemQueryModel"/> as a
|
||||
<see cref="T:Remotion.Linq.Clauses.Expressions.SubQueryExpression"/> and selects the fetched items from it.
|
||||
</summary>
|
||||
<param name="sourceItemQueryModel">A <see cref="T:Remotion.Linq.QueryModel"/> that yields the source items for which items are to be fetched.</param>
|
||||
<returns>A <see cref="T:Remotion.Linq.QueryModel"/> that selects the fetched items from <paramref name="sourceItemQueryModel"/> as a subquery.</returns>
|
||||
<remarks>
|
||||
This method does not clone the <paramref name="sourceItemQueryModel"/>, remove result operatores, etc. Use
|
||||
<see cref="M:Remotion.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"/> (via <see cref="T:Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor"/>) for the full algorithm.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding new <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> instances and changing the
|
||||
<see cref="T:Remotion.Linq.Clauses.SelectClause"/> as needed.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
<param name="fetchQueryModel">The fetch query model to modify.</param>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchManyRequest">
|
||||
<summary>
|
||||
Represents a relation collection property that should be eager-fetched by means of a lambda expression.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Linq.QueryModel)">
|
||||
<summary>
|
||||
Modifies the given query model for fetching, adding an <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> and changing the <see cref="P:Remotion.Linq.Clauses.SelectClause.Selector"/> to
|
||||
retrieve the result of the <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
For example, a fetch request such as <c>FetchMany (x => x.Orders)</c> will be transformed into a <see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/> selecting
|
||||
<c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Linq.Clauses.SelectClause"/> selecting the result of the
|
||||
<see cref="T:Remotion.Linq.Clauses.AdditionalFromClause"/>.
|
||||
This method is called by <see cref="M:Remotion.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Linq.QueryModel)"/> in the process of creating the new fetch query model.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Linq.Clauses.CloneContext)">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:Remotion.Linq.EagerFetching.FetchRequestCollection">
|
||||
<summary>
|
||||
Holds a number of <see cref="T:Remotion.Linq.EagerFetching.FetchManyRequest"/> instances keyed by the <see cref="T:System.Reflection.MemberInfo"/> instances representing the relation members
|
||||
to be eager-fetched.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Remotion.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase)">
|
||||
<summary>
|
||||
Gets or adds an eager-fetch request to this <see cref="T:Remotion.Linq.EagerFetching.FetchRequestCollection"/>.
|
||||
</summary>
|
||||
<param name="fetchRequest">The <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> to be added.</param>
|
||||
<returns>
|
||||
<paramref name="fetchRequest"/> or, if another <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/> for the same relation member already existed,
|
||||
the existing <see cref="T:Remotion.Linq.EagerFetching.FetchRequestBase"/>.
|
||||
</returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Reference in New Issue
Block a user